GeoJSON
| GeoJSON | |
|---|---|
| Extensão de arquivos | .json, .geojson |
| Tipo de mídia da Internet | application/geo+json[1] |
| Estendido de | JSON |
| Padrão | Predefinição:IETF RFC |
GeoJSON[1] é um formato de padrão aberto projetado para representar recursos geográficos simples, juntamente com seus atributos não espaciais. É baseado no formato JSON.
Os recursos incluem pontos (portanto, endereços e locais), sequências de linhas (portanto, ruas, rodovias e fronteiras), polígonos (países, províncias, parcelas de terra) e coleções de múltiplas partes desses tipos. Os recursos GeoJSON não se limitam a representar apenas entidades do mundo físico; aplicativos móveis de roteamento e navegação, por exemplo, podem descrever sua cobertura de serviço usando GeoJSON.[2]
O formato GeoJSON difere de outros padrões de sistema de informação geográfica (GIS) pelo fato de ter sido escrito e ser mantido não por uma organização formal de padrões, mas por um grupo de trabalho de desenvolvedores na Internet.[3]
Um descendente notável do GeoJSON é o TopoJSON, uma extensão do GeoJSON que codifica a topologia geoespacial e que normalmente oferece tamanhos de arquivo menores.
História
O grupo de trabalho e a discussão sobre o formato GeoJSON começaram em março de 2007[4] e a especificação do formato foi finalizada em junho de 2008.
Em abril de 2015, a Internet Engineering Task Force (IETF) fundou o grupo de trabalho Geographic JSON,[5] que lançou o GeoJSON como RFC 7946 em agosto de 2016.
Exemplo
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [102.0, 0.5]
},
"properties": {
"prop0": "value0"
}
}, {
"type": "Feature",
"geometry": {
"type": "LineString",
"coordinates": [
[102.0, 0.0],
[103.0, 1.0],
[104.0, 0.0],
[105.0, 1.0]
]
},
"properties": {
"prop0": "value0",
"prop1": 0.0
}
}, {
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
},
"properties": {
"prop0": "value0",
"prop1": {
"this": "that"
}
}
}]
}
Geometrias
Pontos são [x, y] ou [x, y, z]. Eles podem ser [longitude, latitude] ou [abcissas e ordenadas]. A elevação, em metros,[6] é um terceiro número opcional. Eles são números decimais.[7]
Por exemplo, Londres (51,5074° Norte, 0,1278° Oeste) é [-0.1278, 51.5074]
O sistema de referência de coordenadas para todas as coordenadas GeoJSON é um sistema de referência de coordenadas geográficas, usando o datum World Geodetic System 1984 (WGS 84) [WGS84], com unidades de longitude e latitude em graus decimais.[8]
| Tipo | Exemplos | |
|---|---|---|
| Point | {
"type": "Point",
"coordinates": [30.0, 10.0]
}
| |
| LineString | {
"type": "LineString",
"coordinates": [
[30.0, 10.0],
[10.0, 30.0],
[40.0, 40.0]
]
}
| |
| Polígono | {
"type": "Polygon",
"coordinates": [
[
[30.0, 10.0],
[40.0, 40.0],
[20.0, 40.0],
[10.0, 20.0],
[30.0, 10.0]
]
]
}
| |
{
"type": "Polygon",
"coordinates": [
[
[35.0, 10.0],
[45.0, 45.0],
[15.0, 40.0],
[10.0, 20.0],
[35.0, 10.0]
],
[
[20.0, 30.0],
[35.0, 35.0],
[30.0, 20.0],
[20.0, 30.0]
]
]
}
| ||
| Tipo | Exemplos | |
|---|---|---|
| MultiPoint | {
"type": "MultiPoint",
"coordinates": [
[10.0, 40.0],
[40.0, 30.0],
[20.0, 20.0],
[30.0, 10.0]
]
}
| |
| MultiLineString | {
"type": "MultiLineString",
"coordinates": [
[
[10.0, 10.0],
[20.0, 20.0],
[10.0, 40.0]
],
[
[40.0, 40.0],
[30.0, 30.0],
[40.0, 20.0],
[30.0, 10.0]
]
]
}
| |
| MultiPolygon | {
"type": "MultiPolygon",
"coordinates": [
[
[
[30.0, 20.0],
[45.0, 40.0],
[10.0, 40.0],
[30.0, 20.0]
]
],
[
[
[15.0, 5.0],
[40.0, 10.0],
[10.0, 20.0],
[5.0, 10.0],
[15.0, 5.0]
]
]
]
}
| |
{
"type": "MultiPolygon",
"coordinates": [
[
[
[40.0, 40.0],
[20.0, 45.0],
[45.0, 30.0],
[40.0, 40.0]
]
],
[
[
[20.0, 35.0],
[10.0, 30.0],
[10.0, 10.0],
[30.0, 5.0],
[45.0, 20.0],
[20.0, 35.0]
],
[
[30.0, 20.0],
[20.0, 15.0],
[20.0, 25.0],
[30.0, 20.0]
]
]
]
}
| ||
| GeometryCollection | {
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [40.0, 10.0]
},
{
"type": "LineString",
"coordinates": [
[10.0, 10.0],
[20.0, 20.0],
[10.0, 40.0]
]
},
{
"type": "Polygon",
"coordinates": [
[
[40.0, 40.0],
[20.0, 45.0],
[45.0, 30.0],
[40.0, 40.0]
]
]
}
]
}
| |
GeoJSON delimitado por nova linha
Uma alternativa ao GeoJSON é codificar um recurso geográfico por linha, com quebras de linha (ou caracteres separadores de registro) designando a separação entre os registros.
Este formato pode ser muito mais rápido e eficiente para analisar do que o GeoJSON normal, pois as ferramentas podem ler registros individuais em paralelo. Este formato é semelhante ao JSON delimitado por nova linha.
As variantes do GeoJSON delimitado por nova linha incluem:
- GeoJSONSeq (abreviação de GeoJSON Text Sequences) - com caracteres separadores de registro (RS) separando os recursos[9]
- GeoJSONL (abreviação de GeoJSON Lines) - com caracteres de nova linha separando os recursos[10]
TopoJSON
TopoJSON é uma extensão do GeoJSON que codifica topologia. Em vez de representar geometrias de forma discreta, as geometrias nos arquivos TopoJSON são costuradas a partir de segmentos de linha compartilhados chamados arcos.[11] Arcos são sequências de pontos, enquanto sequências de linhas e polígonos são definidos como sequências de arcos. Cada arco é definido apenas uma vez, mas pode ser referenciado várias vezes por diferentes formas, reduzindo assim a redundância e diminuindo o tamanho do arquivo.[12] Além disso, o TopoJSON facilita aplicações que utilizam topologia, como simplificação de formas com preservação de topologia, coloração automática de mapas e cartogramas.
Uma implementação de referência da especificação TopoJSON está disponível como uma ferramenta de linha de comando para codificar TopoJSON a partir de GeoJSON (ou ESRI Shapefiles) e uma biblioteca JavaScript no lado do cliente para decodificar TopoJSON de volta para GeoJSON. O TopoJSON também é suportado pela popular ferramenta OGR a partir da versão 1.11[13] e pelo PostGIS a partir da versão 2.1.0.[14]
Esquema TopoJSON
Dada uma forma GIS próxima às coordenadas de latitude 0° e longitude 0°, um arquivo topojson simples, mas válido e completo, contendo todos os metadados, elementos Polygon, LineString, Point, arcos e propriedades é definido da seguinte forma:

{
"type":"Topology",
"transform":{
"scale": [1,1],
"translate": [0,0]
},
"objects":{
"two-squares":{
"type": "GeometryCollection",
"geometries":[
{"type": "Polygon", "arcs":[[0,1]],"properties": {"name": "Left_Polygon" }},
{"type": "Polygon", "arcs":[[2,-1]],"properties": {"name": "Right_Polygon" }}
]
},
"one-line": {
"type":"GeometryCollection",
"geometries":[
{"type": "LineString", "arcs": [3],"properties":{"name":"Under_LineString"}}
]
},
"two-places":{
"type":"GeometryCollection",
"geometries":[
{"type":"Point","coordinates":[0,0],"properties":{"name":"Origine_Point"}},
{"type":"Point","coordinates":[0,-1],"properties":{"name":"Under_Point"}}
]
}
},
"arcs": [
[[1,2],[0,-2]],
[[1,0],[-1,0],[0,2],[1,0]],
[[1,2],[1,0],[0,-2],[-1,0]],
[[0,-1],[2,0]]
]
}
Ver também
Geography Markup Language (GML)
Sistema de informação Geográfica (GIS)
Referências
- ↑ a b Butler, Howard; Daly, Martin; Doyle, Allan; Gillies, Sean; Hagen, Stefan; Schaub, Tim (Agosto 2016). RFC 7946. IETF. doi:10.17487/RFC7946
- ↑ «Providing Directions». developer.apple.com
- ↑ «GeoJSON Info Page». lists.geojson.org
- ↑ «The GeoJSON March 2007 Archive by thread». lists.geojson.org
- ↑ «Geographic JSON (geojson) -». datatracker.ietf.org
- ↑ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (agosto 2016). The GeoJSON Format (Relatório). Internet Engineering Task Force
- ↑ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (agosto 2016). «GeoJSON RFC #3.1.1»
- ↑ Butler, H.; Daly, M.; Doyle, A.; Gillies, Sean; Schaub, T.; Hagen, Stefan (agosto 2016). The GeoJSON Format (Relatório). Internet Engineering Task Force
- ↑ Gillies, Sean (abril 2017). GeoJSON Text Sequences (Relatório). Internet Engineering Task Force
- ↑ «GeoJSONL: An optimized format for large geographic datasets». Interline Technologies (em inglês). 11 de setembro de 2018. Consultado em 11 de novembro de 2024
- ↑ «topojson/topojson-specification». 11 dezembro 2020 – via GitHub
- ↑ «topojson/topojson». GitHub
- ↑ «Release/1.11.0-News – GDAL». trac.osgeo.org
- ↑ «AsTopoJSON». postgis.net
Fontes
Andrews, Christopher (18 setembro 2007). «Emerging Technology: AJAX and GeoJSON». Arquivado do original em 22 maio 2009
«Geoweb Guru: Technical Overview: GeoJSON». 16 fevereiro 2009. Arquivado do original em 21 fevereiro 2009
Lambert, Chris (4 maio 2009). «Google Geo Developers Blog: Build on top of your public Latitude location with GeoJSON & KML»
Links externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.