Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Objetos GeoJSON

MongoDB ofrece soporte a los tipos de objetos GeoJSON que se enumeran en esta página.

Para especificar datos de GeoJSON, utilice un documento incrustado con:

  • un campo llamado type que especifica el tipo de objeto Realm GeoJSON, y

  • un campo llamado coordinates que especifica las coordenadas del objeto.

<field>: { type: <GeoJSON type> , coordinates: <coordinates> }

Importante

Si especifica coordenadas de longitud y latitud, enumera primero la longitud y luego la latitud.

  • Los valores de longitud válidos están entre -180 y 180, ambos inclusive.

  • Los valores de latitud válidos están entre -90 y 90, ambos inclusive.

Las queries geoespaciales de MongoDB en objetos GeoJSON se calculan en una esfera; MongoDB utiliza el El sistema de referencia WGS84 para queries geoespaciales en objetos GeoJSON.

El siguiente ejemplo especifica un GeoJSON punto:

{ type: "Point", coordinates: [ 40, 5 ] }

El siguiente ejemplo especifica un GeoJSON LineString:

{ type: "LineString", coordinates: [ [ 40, 5 ], [ 41, 6 ] ] }

Polígonos constan de un arreglo de arreglos de coordenadas LinearRing de GeoJSON. Un LinearRing es un LineString cerrado con al menos cuatro pares de coordenadas. Las primeras y últimas coordenadas deben ser idénticas.

Las líneas entre dos puntos en una superficie curva, o geodésicas, pueden ser diferentes de las líneas entre los mismos puntos en una superficie plana. Revise cuidadosamente las coordenadas para evitar errores de aristas compartidas, superposiciones u otras intersecciones.

El siguiente ejemplo especifica un GeoJSON Polygon con un anillo exterior y sin anillos interiores (o huecos). La primera y la última coordenada deben coincidir para cerrar el polígono:

{
type: "Polygon",
coordinates: [ [ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ] ]
}

Para los polígonos con un solo anillo, el anillo no puede intersecarse a sí mismo.

Para polígonos con múltiples anillos:

  • El primer anillo descrito debe ser el anillo exterior.

  • El anillo exterior no puede auto-intersectarse.

  • Todo anillo interior debe estar completamente contenido por el anillo exterior.

  • Los anillos interiores no se pueden intersectar ni solaparse entre sí. Los anillos interiores no pueden compartir un borde.

El siguiente ejemplo representa un polígono de GeoJSON con un anillo interior:

{
type : "Polygon",
coordinates : [
[ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ],
[ [ 2 , 2 ] , [ 3 , 3 ] , [ 4 , 2 ] , [ 2 , 2 ] ]
]
}
Diagrama de un polígono con un anillo interior.

Se requiere 2índices dsphere.

Los documentos incrustados de GeoJSON MultiPoint codifican una lista de puntos.

{
type: "MultiPoint",
coordinates: [
[ -73.9580, 40.8003 ],
[ -73.9498, 40.7968 ],
[ -73.9737, 40.7648 ],
[ -73.9814, 40.7681 ]
]
}

Se requiere 2índices dsphere.

El siguiente ejemplo especifica un GeoJSON MultiLineString:

{
type: "MultiLineString",
coordinates: [
[ [ -73.96943, 40.78519 ], [ -73.96082, 40.78095 ] ],
[ [ -73.96415, 40.79229 ], [ -73.95544, 40.78854 ] ],
[ [ -73.97162, 40.78205 ], [ -73.96374, 40.77715 ] ],
[ [ -73.97880, 40.77247 ], [ -73.97036, 40.76811 ] ]
]
}

Se requiere 2índices dsphere.

El siguiente ejemplo especifica un MultiPolygon de GeoJSON:

{
type: "MultiPolygon",
coordinates: [
[ [ [ -73.958, 40.8003 ], [ -73.9498, 40.7968 ], [ -73.9737, 40.7648 ], [ -73.9814, 40.7681 ], [ -73.958, 40.8003 ] ] ],
[ [ [ -73.958, 40.8003 ], [ -73.9498, 40.7968 ], [ -73.9737, 40.7648 ], [ -73.958, 40.8003 ] ] ]
]
}

Se requiere 2índices dsphere.

El siguiente ejemplo almacena coordenadas del tipo GeoJSON GeometryCollection:

{
type: "GeometryCollection",
geometries: [
{
type: "MultiPoint",
coordinates: [
[ -73.9580, 40.8003 ],
[ -73.9498, 40.7968 ],
[ -73.9737, 40.7648 ],
[ -73.9814, 40.7681 ]
]
},
{
type: "MultiLineString",
coordinates: [
[ [ -73.96943, 40.78519 ], [ -73.96082, 40.78095 ] ],
[ [ -73.96415, 40.79229 ], [ -73.95544, 40.78854 ] ],
[ [ -73.97162, 40.78205 ], [ -73.96374, 40.77715 ] ],
[ [ -73.97880, 40.77247 ], [ -73.97036, 40.76811 ] ]
]
}
]
}

Volver

Buscar restaurantes

En esta página