GeoJSON (.geojson)
IETF StandartsĢeogrāfiskais JavaScript objekta apzīmējums (GeoJSON) ir universāls, tīmeklim vietējs standarts ģeogrāfisko datu struktūru kodēšanai, ko plaši izmanto mūsdienu tīmekļa kartēšanā (Leaflet, Mapbox, OpenLayers) un ĢIS lietojumprogrammās.
Konvertēt GEOJSON uz KML
Bezmaksas GEOJSON uz KML konvertētājs pārlūkprogrammā. Konvertējiet failus uzreiz savā ierīcē.
Pārbaudīt un metadati
Operētājsistēmas un failu analizatori identificē GeoJSON failus, pārbaudot sākotnējo bināro baitu secību:
Baitu līmeņa galvenes paraksts (maģiskie baiti)
Operētājsistēmas un failu analizatori identificē GeoJSON failus, pārbaudot sākotnējo bināro baitu secību:
HEKSADECIMĀLAIS PARAKSTS (NOBĪDE 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65ASCII ATTEIOLOJUMS: {\n "type": "Feature
Standartizācija: IETF RFC 7946
Tehniskās specifikācijas
| Konteinera arhitektūra | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Saspiešana | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Baitu secība | UTF-8 text stream |
| Krāsu telpas | N/A (Geographic Data) |
| Kanāli un struktūra | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Maks. izmēri | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Caurspīdīgums | None |
| Straumēšana un progresīvā ielāde | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Tehniskā salīdzinājuma matrica: GeoJSON pret konkurentiem
| Tehniskais atribūts | GeoJSON (Pašreizējais) | KML | GPX | SHP |
|---|---|---|---|---|
| Tīmekļa karšu ieviešana | 100% universāls tīmekļa ĢIS noklusējums | Google Earth noklusējums | GPS ierīču un fitnesa noklusējums | Darbvirsmas ĢIS mantojuma standarts |
| Koordinātu secība | [Garums, Platums] (X, Y) | Garums, Platums, Augstums | Platums, Garums | X, Y koordinātas |
| Sintakses stils | Tīras JSON atslēgu-vērtību pāri | Gari XML tagi (<kml>) | Gari XML tagi (<gpx>) | Vairāku failu binārais (.shp, .shx, .dbf) |
| Rekvizītu shēma | Patvaļīgs JSON rekvizītu objekts | ExtendedData shēmas tagi | Fiksētas GPX shēmas tagi | dBase IV (.dbf) fiksētas kolonnas |
Biežākie bojājumu veidi un heksadecimālās atkopšanas ceļvedis
Kartes punkti parādās okeānā netālu no Antarktīdas, nevis to patiesajā atrašanās vietā.
Pamatcēlonis: Platuma un garuma vērtības koordinātu masīvā tika nejauši samainītas vietām.
Atkopšana: Samainiet koordinātu pozīcijas [garums, platums] vietām, izmantojot File2File GeoJSON konvertētāju.
Drošības analīze un parsētāja uzbrukuma vektori
GeoJSON rekvizīti var saturēt patvaļīgas lietotāja ievades, kas pirms renderēšanas kartes uznirstošajos logos ir jādezinficē, lai novērstu XSS.
Zināmie uzbrukuma vektori
- Starpsvietu skriptēšana (XSS), izmantojot neapietus HTML GeoJSON elementu rekvizītos, kas tiek renderēti kartes rīka padomos.
- Pakalpojuma atteice, izmantojot dziļi ligzdotus GeometryCollections vai miljoniem virsotņu daudzstūrus.
- Servera puses pieprasījuma viltošana (SSRF), izmantojot attālinātu GeoJSON elementu ielādi.
Aizsardzības labākā prakse:
Vēsturiskā izcelsme un pavērsieni
Galvenās priekšrocības un plusi
- Vietējais tīmekļa standarts: tiek tieši kartēts JavaScript objetos pārlūkprogrammas kartēšanas bibliotēkās (Mapbox GL JS, Leaflet).
- Cilvēkam salasāma JSON struktūra ļauj bez pūlēm veikt programmatisku izveidi, filtrēšanu un atkļūdošanu.
- Patvaļīga rekvizītu shēma: pievienojiet jebkādus pielāgotus metadatus (iedzīvotāju skaitu, nosaukumu, ātrumu, ieņēmumus) tieši ģeometriskajām figūrām.
Tehniskie ierobežojumi un mīnusi
- Teksta apjoms: glabā peldošā punkta koordinātas kā atkārtotus ASCII ciparus, kas rada lielākus failu izmērus nekā binārie Shapefiles vai FlatGeobuf.
- RFC 7946 stingri nosaka [Garums, Platums] secību, kas bieži mulsina izstrādātājus, kuri pieraduši pie secības 'Platums/Garums'.
- Lieli daudzstūri ar miljoniem virsotņu var izraisīt tīmekļa pārlūkprogrammas DOM renderēšanas palēninājumus.
Interesanti tehniski fakti
- Oficiālais GeoJSON standarts sakārto koordinātas kā [Garums, Platums] (X, Y Dekarta secība), kas ir tieši pretēji tam, kā cilvēki runā ('Platums, Garums').
- Ja jūs iekļaujat .geojson failu GitHub, GitHub to automātiski attēlo kā interaktīvu, noklikšķināmu karti.
- RFC 7946 nosaka, ka daudzstūra robežgredzeniem ir jāievēro 'labās rokas likums': ārējiem gredzeniem jābūt vērstiem pretēji pulksteņrādītāja virzienam.
Bieži uzdotie tehniskie jautājumi
Kāpēc mani GeoJSON koordinātas ir sakārtotas [garums, platums] (longitude, latitude), nevis [platums, garums]?
Tā kā matemātikā un datorgrafikā koordinātas vienmēr tiek norādītas kā (X, Y). Garums attēlo horizontālo X asi, un Platums attēlo vertikālo Y asi.
Kā es varu konvertēt KML vai Shapefile uz GeoJSON?
Varat konvertēt Google Earth KML failus vai Esri Shapefiles tīrā, tīmeklim gatavā GeoJSON dažu sekunžu laikā, izmantojot File2File.app tieši savā pārlūkprogrammā.
Kāda ir atšķirība starp GeoJSON un Shapefile?
Shapefile ir novecojis vairāku failu binārais formāts no 20. gadsimta 90. gadiem (.shp, .shx, .dbf). GeoJSON ir mūsdienīgs, viena faila atvērts tīmekļa formāts, kas rakstīts tīrā JSON.
Saistītie GeoJSON konvertēšanas pāri
GeoJSON vektoru konvertēšana Google KML formātā tulko vieglas JSON koordinātu masīvus strukturētos XML dokumentos, kas pielāgoti Google Earth un Google Maps.
Google KML failu konvertēšana uz GeoJSON pārveido hierarhiskus XML ģeogrāfiskos datus vieglsvarīgos vektoru JavaScript Object Notation datos mūsdienu tīmekļa kartēm.
GeoJSON vektora datu konvertēšana GPX formātā pārvērš standarta ģeogrāfiskos JSON objektus XML balstītā formātā, kas ir optimizēts fiziskām navigācijas ierīcēm.