6.5. Documentos GeoJSON
GeoJSON é um formato de intercâmbio geoespacial baseado na notação JSON. Um objeto GeoJSON pode representar uma:
Geometria (
Geometry
)Feição (
Feature
)Coleção de Feições (
Feature Collection
)
6.5.1. Geometrias
O formato GeoJSON suporta os seguintes tipos geométricos (Tabela 6.1): Point
, LineString
, Polygon
, MultiPoint
, MultiLineString
, MultiPolygon
e GeometryCollection
.
( a ) |
( b ) |
|
---|---|---|
( c ) |
( d ) |
( e ) |
---|---|---|
( f ) |
( g ) |
( h ) |
---|---|---|
6.5.1.1. Point
O tipo geométrico Point
(Tabela 6.1a) é representado por um objeto JSON
com o seguinte formato:
{
"type": "Point",
"coordinates": [10.0, 10.0]
}
6.5.1.2. LineString
O tipo geométrico LineString
(Tabela 6.1b) é representado por um objeto JSON com o seguinte formato:
{
"type": "LineString",
"coordinates": [
[10.0, 10.0],
[20.0, 20.0],
[30.0, 12.0]
]
}
6.5.1.3. Polygon
O tipo geométrico Polygon
(Tabela 6.1c e Tabela 6.1d) é representado por um objeto JSON
com o seguinte formato:
{
"type": "Polygon",
"coordinates": [
[
[0.0, 0.0],
[0.0, 10.0],
[10.0, 10.0],
[10.0, 0.0],
[0.0, 0.0]
]
]
}
6.5.1.4. MultiPoint
O tipo geométrico MultiPoint
(Tabela 6.1e) é representado por um objeto JSON
com o seguinte formato:
{
"type": "MultiPoint",
"coordinates": [
[10.0, 10.0],
[11.0, 11.0]
]
}
6.5.1.5. MultiLineString
O tipo geométrico MultiLineString
(Tabela 6.1f) é representado por um objeto JSON
com o seguinte formato:
{
"type": "MultiLineString",
"coordinates": [
[ [10.0, 10.0], [11.0, 11.0] ],
[ [12.0, 12.0], [13.0, 13.0] ]
]
}
6.5.1.6. MultiPolygon
O tipo geométrico MultiPolygon
(Tabela 6.1g) é representado por um objeto JSON
com o seguinte formato:
{
"type": "MultiPolygon",
"coordinates": [
[
[
[102.0, 2.0],
[103.0, 2.0],
[103.0, 3.0],
[102.0, 3.0],
[102.0, 2.0]
]
],
[
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
],
[
[100.2, 0.2],
[100.2, 0.8],
[100.8, 0.8],
[100.8, 0.2],
[100.2, 0.2]
]
]
]
}
6.5.1.7. GeometryCollection
O tipo geométrico GeometryCollection
(Tabela 6.1h) é representado por um objeto JSON com o seguinte formato:
{
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [100.0, 0.0]
},
{
"type": "LineString",
"coordinates": [
[101.0, 0.0],
[102.0, 1.0]
]
}
]
}
6.5.2. Feature
Um objeto do tipo Feature
representa um objeto ou entidade geográfica, com o seguinte formato:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-45.88, -23.17]
},
"properties": {
"cidade": "São José dos Campos"
}
}
6.5.3. FeatureCollection
Um objeto do tipo FeatureCollection
pode ser utilizado para representar uma coleção de objetos ou entidades geográficas, com o seguinte formato:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-45.88, -23.17]
},
"properties": {
"cidade": "São José dos Campos"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-43.50, -20.38]
},
"properties": {
"cidade": "Ouro Preto"
}
}
]
}
Nota
A especificação GeoJSON pode ser encontrada em [8].
6.5.4. Validadores de Documentos GeoJSON
Existem na Internet vários aplicativos online que possibilitam validar a estrutura de um documento GeoJSON, isto é, permite sabermos se o documento respeita a sintaxe (ou notação) GeoJSON. Um bom aplicativo é o geojson.io. Acesse o endereço desse aplicativo e verifique os documentos apresentados na seção anterior.