Sdílet prostřednictvím


Geoprostorová data – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Dotazovací jazyk má integrovanou geoprostorovou funkci pro reprezentaci geometrických obrazců nebo skutečných umístění nebo mnohoúhelníku na mapě. Geoprostorová data často zahrnují dotazy na blízkost. Například otázka "Najít všechna maloobchodní místa poblíž aktuálního umístění" je zodpovězena pomocí dotazu bezkontaktní komunikace u více geoprostorových datových objektů.

Případy použití

Mezi běžné případy použití geoprostorových případů patří mimo jiné:

  • Analýza geografické polohy, která řídí konkrétní marketingové iniciativy založené na poloze.

  • Přizpůsobení založené na poloze pro odvětví, jako je maloobchod a zdravotnictví, aby se zlepšilo uživatelské prostředí.

  • Logistická vylepšení pro odvětví, jako je doprava, kde je optimalizace důležitá.

  • Analýza rizik pro odvětví, jako je pojištění a finance, aby doplnila další metadata.

  • Situační povědomí*, pro výstrahy a oznámení založené na blízkosti.

Úvod do prostorových dat

Prostorová data popisují umístění a tvar objektů v prostoru. Ve většině aplikací tyto body a obrazce odpovídají objektům na zemi a geoprostorovým datům.

Prostorová data lze použít k reprezentaci:

  • Umístění osoby

  • Místo zájmu

  • Hranice města nebo jezera

Dotazovací jazyk podporuje dva prostorové datové typy: datový typ geometrie a zeměpisný datový typ.

  • Typ geometrie představuje data v euklidovském (plochém) souřadnicovém systému. Tento typ je užitečný pro běžné geometrické úkoly, jako jsou měření čar, protínání mnohoúhelníku a měření vzdálenosti mezi body.

  • Zeměpisný typ představuje data v souřadnicovém systému s kruhovou zemí. Tento typ je užitečný pro běžné geografické úlohy, jako je určení, zda je umístění v konkrétních mezích a měření vzdálenosti mezi lokalitami.

Podporované datové typy

Dotazovací jazyk podporuje indexování a dotazování dat geoprostorových bodů reprezentovaných pomocí specifikace GeoJSON. Datové struktury GeoJSON jsou platné objekty JSON, takže je můžete ukládat a dotazovat pomocí dotazovacího jazyka bez specializovaných nástrojů nebo knihoven.

Dotazovací jazyk podporuje následující prostorové datové typy:

  • Bod

  • LineString

  • Mnohoúhelník

  • MultiPolygon

Výhybka

Bod označuje jednu pozici v prostoru. V geoprostorových datech představuje bod přesnou polohu, což může být ulice obchodu s potravinami, veřejný terminál, automobil nebo město. Bod je reprezentován v GeoJSON (a dotazovacím jazyce) pomocí dvojice souřadnic (zeměpisná délka a zeměpisná šířka).

Podívejte se na tento příklad bodu GeoJSON. Zeměpisná délka je -122.12826822304672 a zeměpisná šířka je 47.63980239335718.

{
  "type": "Point",
  "coordinates": [
    -122.12826822304672,
    47.63980239335718
  ]
}

Návod

Pro datový typ zeměpis určuje specifikace GeoJSON délku první a druhou zeměpisnou šířku. Stejně jako v jiných mapovacích aplikacích jsou zeměpisné délky a zeměpisné šířky úhly a znázorněny z hlediska stupňů. Hodnoty délky se měří z hlavního poledníku a jsou mezi -180 stupni a 180.0 stupni a hodnoty zeměpisné šířky se měří z rovníku a jsou mezi -90.0 stupni a 90.0 stupni.

U datového typu geometrie určuje specifikace GeoJSON nejprve vodorovnou osu a druhou svislou osu.

Prostorové datové typy lze vložit do položky, jak je znázorněno v tomto příkladu položky zařízení, která obsahuje data GeoJSON.

{
  "name": "Headquarters",
  "location": {
    "type": "Point",
    "coordinates": [
      -122.12826822304672,
      47.63980239335718
    ]
  },
  "category": "business-offices"
}

Dotazovací jazyk interpretuje souřadnice podle referenčního systému WGS-84. Další informace naleznete v tématu referenční systémy souřadnic.

LineStrings

Spojnicové řetězce představují řadu dvou nebo více bodů v prostoru a segmenty čáry, které je spojují. V geoprostorových datech se linestringy běžně používají k reprezentaci dálnic nebo řek.

V tomto příkladu se řetězec řádku používá k reprezentaci čáry, která je nakreslená mezi dvěma body.

{
  "type": "LineString",
  "coordinates": [
    [ 31.8, -5 ],
    [ 31.8, -4.7 ]
  ]
}

Mnohoúhelníky

Mnohoúhelník je hranice propojených bodů, která tvoří uzavřený linestring. Mnohoúhelníky se běžně používají k reprezentaci přírodních formací, jako jsou jezera nebo politické jurisdikce, jako jsou města a státy.

Body v polygonu musí být zadány v pořadí proti směru hodinových ručiček. Mnohoúhelník zadaný v pořadí hodinových ručiček představuje inverzní funkci oblasti v ní.

V tomto příkladu se mnohoúhelník vytvoří propojením více bodů.

{
  "type":"Polygon",
  "coordinates":[[
    [ 31.8, -5 ],
    [ 32, -5 ],
    [ 32, -4.7 ],
    [ 31.8, -4.7 ],
    [ 31.8, -5 ]
  ]]
}

Návod

Specifikace GeoJSON vyžaduje, aby pro platné mnohoúhelníky byl poslední zadaný pár souřadnic stejný jako první, aby se vytvořil uzavřený obrazec.

MultiPolygony

MultiPolygon je pole s nulovými nebo více mnohoúhelníky. MultiPolygony nemůžou překrývat strany ani nemají žádnou společnou oblast. Mohli by se dotýkat na jednom nebo více místech.

Tady je příklad multipolygonu.

{
    "type":"MultiPolygon",
    "coordinates":[
      [[
          [52.0, 12.0],
          [53.0, 12.0],
          [53.0, 13.0],
          [52.0, 13.0],
          [52.0, 12.0]
      ]],
      [[
          [50.0, 0.0],
          [51.0, 0.0],
          [51.0, 5.0],
          [50.0, 5.0],
          [50.0, 0.0]
      ]]
    ]
}

Souřadnicové referenční systémy

Vzhledem k tomu, že tvar země je nepravidelný, souřadnice geografických geoprostorových dat jsou reprezentovány v mnoha souřadnicových referenčních systémech (CRS). Každá CRS má vlastní rámce referenčních jednotek a měrných jednotek. Například "Národní mřížka Británie" je referenční systém přesný pro Spojené království, ale ne mimo ni.

Nejoblíbenější CRS používané dnes je World Geodetic System WGS-84. Zařízení GPS a mnoho mapových služeb, včetně Google Maps a rozhraní API Map Bing, používají WGS-84. Dotazovací jazyk podporuje indexování a dotazování geografických geoprostorových dat pouze pomocí WGS-84 CRS.