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:

Atlasiet vai velciet failus šeit

100% privāta konvertēšana pārlūkprogrammā - faili nekad neatstāj jūsu ierīci

vai ielīmējiet Ctrl+V
Privātuma garantija bez datu pārraides tīklā: 0 baitu augšupielādēti ārējos serveros. Visa apstrāde notika lokāli jūsu pārlūkprogrammas smilškastē.

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 65

ASCII ATTEIOLOJUMS: {\n "type": "Feature

Standartizācija: IETF RFC 7946

Tehniskās specifikācijas

Konteinera arhitektūraJSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries
SaspiešanaUncompressed text (readily compressed over HTTP via Gzip or Brotli)
Baitu secībaUTF-8 text stream
Krāsu telpasN/A (Geographic Data)
Kanāli un struktūraPoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties
Maks. izmēriWorld Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90)
CaurspīdīgumsNone
Straumēšana un progresīvā ielādeLine-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features

Tehniskā salīdzinājuma matrica: GeoJSON pret konkurentiem

Tehniskais atribūtsGeoJSON (Pašreizējais)KMLGPXSHP
Tīmekļa karšu ieviešana100% universāls tīmekļa ĢIS noklusējumsGoogle Earth noklusējumsGPS ierīču un fitnesa noklusējumsDarbvirsmas ĢIS mantojuma standarts
Koordinātu secība[Garums, Platums] (X, Y)Garums, Platums, AugstumsPlatums, GarumsX, Y koordinātas
Sintakses stilsTīras JSON atslēgu-vērtību pāriGari XML tagi (<kml>)Gari XML tagi (<gpx>)Vairāku failu binārais (.shp, .shx, .dbf)
Rekvizītu shēmaPatvaļīgs JSON rekvizītu objektsExtendedData shēmas tagiFiksētas GPX shēmas tagidBase 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

2016IETF oficiāli standarta līmenī apstiprina GeoJSON formātu kā RFC 7946, nosakot WGS 84 koordinātu atskaites sistēmas par obligātām.
2014GitHub ievieš vietējo interaktīvo vizuālo karšu renderēšanu visiem .geojson failiem.
2008Hovards Batlers, Šons Gilijs un atklātā pirmkoda ĢIS kopiena publicē sākotnējo GeoJSON 1.0 specifikāciju.

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.