2015-04-03 7 views
0

Я создал и опубликовал источник данных с Bing SDS, но это особая точка, и мне интересно, как создать источник данных, который определяет область?Bing SDS Geofence Schema

По существу, мне нужна гео-ограда вокруг определенной точки. Ниже показано, как выглядит моя схема, какие параметры мне нужно добавить для определения области?

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
    <MainRoot> 
    <xs:schema id="FourthCoffeeShops_ds" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 
    <xs:element name="FourthCoffeeShops_ds" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> 
     <xs:complexType> 
     <xs:choice minOccurs="0" maxOccurs="unbounded"> 
      <xs:element name="FourthCoffeeShops"> 
      <xs:complexType> 
       <xs:sequence> 
       <xs:element name="EntityID" type="xs:string" /> 
       <xs:element name="AddressLine" type="xs:string" minOccurs="0" /> 
       <xs:element name="Locality" type="xs:string" minOccurs="0" /> 
       <xs:element name="AdminDistrict" type="xs:string" minOccurs="0" /> 
       <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> 
       <xs:element name="CountryRegion" type="xs:string" minOccurs="0" /> 
       <xs:element name="Phone" type="xs:string" minOccurs="0" /> 
       <xs:element name="Manager" type="xs:string" minOccurs="0" /> 
       <xs:element name="Latitude" type="xs:double" minOccurs="0" /> 
       <xs:element name="Longitude" type="xs:double" minOccurs="0" /> 
       <xs:element name="Confidence" type="xs:string" minOccurs="0" /> 
       </xs:sequence> 
      </xs:complexType> 
      </xs:element> 
     </xs:choice> 
     </xs:complexType> 
     <xs:unique name="Constraint1" msdata:PrimaryKey="true"> 
     <xs:selector xpath=".//FourthCoffeeShops" /> 
     <xs:field xpath="EntityID" /> 
     </xs:unique> 
    </xs:element> 
    </xs:schema> 
<FourthCoffeeShops> 
    <EntityID>1000</EntityID> 
    <AddressLine>1 Microsoft Way</AddressLine> 
    <Locality>Redmond</Locality> 
    <AdminDistrict>WA</AdminDistrict> 
    <PostalCode>98052</PostalCode> 
    <Phone>303-555-0188</Phone> 
    <Manager>Alan Steiner</Manager> 
    <Latitude>47.640049</Latitude> 
    <Longitude>-122.129797</Longitude> 
    <Confidence>High</Confidence> 
</FourthCoffeeShops> 
<FourthCoffeeShops> 
    <EntityID>1001</EntityID> 
    <AddressLine>1 Microsoft Way</AddressLine> 
    <Locality>Redmond</Locality> 
    <AdminDistrict>WA</AdminDistrict> 
    <PostalCode>98052</PostalCode> 
    <CountryRegion>United States</CountryRegion> 
    <Phone>425-555-0111</Phone> 
    <Manager>Phil Spencer</Manager> 
    <Latitude>47.639767</Latitude> 
    <Longitude>-122.129959</Longitude> 
    <Confidence>Medium</Confidence> 
</FourthCoffeeShops> 
</MainRoot> 

Для того, чтобы быть ясно, области я имею в виду определенный радиус вокруг местоположения или многоугольника, который содержит местоположение. Спасибо!

ответ

0

Вы можете создать столбец типа «Edm.Geography» или «xs: anyType». Этот тип свойства включает в себя хорошо известный текст, стандартный способ представления пространственных фигур в виде текста. Это позволяет хранить общие пространственные формы, такие как Point, LineString, Polygon, Multipoint, MultiLineString, MultiPolygon, GeometryCollection. Вот документация вокруг этого:

https://msdn.microsoft.com/en-us/library/gg585138.aspx

https://msdn.microsoft.com/en-us/library/dn436149.aspx

Для представления GeoFence вы хотите создать полигон, представляющий область, которую вы хотите. Если вы хотите, чтобы представить круг вам нужно будет вычислить точки, аппроксимирующих круг: http://pietschsoft.com/post/2008/02/09/Virtual-Earth-Draw-a-Circle-Radius-Around-a-LatLong-Point

Вот блог об использовании Геозоны хранятся в ДСН с отслеживаемых устройств: http://blogs.msdn.com/b/bingdevcenter/archive/2014/04/03/geo-fencing-with-bing-spatial-data-services-and-azure-mobile-services.aspx

Смежные вопросы