Formato GeoJSON

O formato GeoJSON é definido em RFC 7946..

De acordo com a definição, os documentos GeoJSON são fornecidos em um dos três formatos:
Tabela 1. Formatos GeoJSON
Formato Exemplo
Uma região do espaço: geometrias simples com um tipo de geometria e coordenadas, suportando os tipos definidos pela implementação de recurso simples OpenGIS: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon e GeometryCollection

{ "type": "Linestring", "coordinates": [[10.0, 11.2],
[10.5, 11.9]] }
Entidades arredondadas espacialmente: tipos de recurso, que são geometrias juntamente com alguns atributos; semelhantes a moldar arquivos que podem incluir atributos para uma forma ou para uma Pasta KML de Placemarks

{ "type": "Feature", "geometry": { "type": "Point",
"coordinates": [10.0, 20.0] }, "properties": {
"signpost": "5", "last_check": "20200701" }
Uma lista de recursos: uma FeatureCollection

{ "type": "FeatureCollection", "features": [ { "type":
"Feature", "geometry": { "type": "Point",
"coordinates": [10.0, 5.0] }, }, { "type": "Feature",
"geometry": { "type": "LineString", "coordinates":
[[10.2, 1.0], [10.3, 2.0], [10.4, 2.5]] },
"properties": { "route": "341A7", "class": "local" } }
] }

GeoJSON só suporta WGS84, o World Geodetic System 1984. Isso corresponde ao srsid4326 padrão no Db2 Spatial Analytics.

Com o Db2 Spatial Analytics, os mapeamentos a seguir são aplicados para construir uma geometria a partir de um documento GeoJSON:
Tabela 2. GeoJSON para mapeamentos de tipo de geometria
Nome Tipos de destino Exemplo Comentário
Point Função ST_Point, Função ST_Geometria

{ "type": "point",
"coordinates": [ 10.0,
11.2 ] }
 
LineString ST_LineString função, ST_Geometry função

{ "type": "Linestring",
"coordinates": [[10.0,
11.2], [10.5, 11.9]] }
 
Polygon Função ST_Polygon, Função ST_Geometria

{ "type": "Polygon",
"coordinates": [[[10.0,
11.2], [10.5, 11.9],
[10.8, 12.0], [10.0,
11.2]]] }
Pode ter orifícios, ou seja, vários anéis. Os anéis lineares não precisam seguir a regra da mão direita.
MultiPoint ST_MultiPoint, Função ST_Geometry .

{ "type": "MultiPoint",
"coordinates": [[10.0,
11.2], [10.5, 11.9]] )
 
MultiLineString ST_MultiLineString function, ST_Geometry function

{ "type":
"MultiLinestring",
"coordinates": [[[10.0,
11.2], [10.5, 11.9]],
[[11.0, 12.2], [11.5,
12.9], [12.0, 13.0]] }
 
MultiPolygon ST_MultiPolygon, Função ST_Geometry

{ "type":
"MultiPolygon",
"coordinates": [[[[10.0,
11.2], [10.5, 11.9],
[10.8, 12.0], [10.0,
11.2]]], [[[9.0, 11.2],
[10.5, 11.9], [10.3,
13.0], [9.0, 11.2]]]] }
 
GeometryCollection N/A

{ "type":
"GeometryCollection",
"geometries": [ {
"type": "Linestring",
"coordinates": [[10.0,
11.2], [10.5, 11.9]] },
{ "type": "Point",
"coordinates": [10.0,
20.0] } ] }
Coleções aninhadas ou coleções de tipos diferentes não são suportadas.
bbox N/A   Ignorado. Os valores da caixa delimitadora serão calculados a partir das coordenadas.
coordinates [ longitude, latitude (, elevation)](,)*

{ [1, 2] , [1, 2, 3] }
Usando valores decimais; a elevação (z-value) é opcional; se um valor estiver presente, ele será tratado como uma medida m.
Feature Um recurso contém um único objeto de geometria com a adição de propriedades. Assim, será tratado como descrito para os tipos de geometria acima. O elemento propriedades e, se existir, o elemento 'id' será ignorado.

{ "type": "Feature",
"geometry": { "type": "…",
"coordinates": […]
"properties": […] } }
 
FeatureCollection Um ou mais recursos.

{ "type":
"FeatureCollection",
"features": [ {"type":
"Feature", (…) }, {"type":
"Feature", (…) } ] }
Os recursos não podem ser de tipos diferentes.
Nota: A sequência de pares de valor de nome é irrelevante desde que a escalação geral seja sintaticamente válida. Ou seja, ele não importa se, por exemplo, um elemento coordinates é listado antes ou depois de um elemento properties.

No Db2 Spatial Analytics, o caso dos nomes será ignorado. Por exemplo, Feature, FEATURE e feature são todos aceitos.

Se uma definição de tipo de geometria sente falta do objeto coordinates, ou o objeto coordinates é vazio ou NULL, a geometria é tratada como uma geometria vazia.

Restrições para FeatureCollection:
  • Se FeatureCollection contiver vários pontos, várias cadeias de linha ou vários polígonos, a coleção será armazenada como o tipo de geometria múltipla associado, desde que o tipo de destino aceite a geometria múltipla.
  • Os recursos que não coincidem com o primeiro tipo de geometria que é encontrado em FeatureCollection serão ignorados. Será definido um aviso para este caso.