¿Convertir archivos de forma a GeoJSON?

19

Estoy tratando de convertir Shapefiles del sitio web del Distrito de Senados del Estado de Texas en un archivo GeoJSON para usar con la API de Google Maps. Estoy usando QGIS para facilitar pero no puedo obtener la proyección / coordenadas correctas. Hasta ahora he probado Google Mercator (EPSG: 900913) y WGS 84 (EPSG: 4326) sin suerte. Estoy usando OpenLayers para verificar los resultados y sigue colocando a Texas cerca del Golfo de Guinea (0 lat, 0 lng).

usuario28781
fuente

Respuestas:

23

No es ningún problema cargar el archivo de forma descargable directamente en QGIS.

Los datos están en EPSG: 3081, será mejor que los deje así. La API de Google espera valores largos, por lo que el CRS objetivo debe ser EPSG: 4326.

Simplemente haga clic derecho en la capa -> Guardar como ... para elegir el tipo de archivo GeoJSON, un nombre de archivo diferente y EPSG: 4326 como nuevo CRS. Puede agregar el resultado al lienzo para ver que se alinean ( On-the-fly-reprojectionseleccionado).

AndreJ
fuente
alguna forma de "guardar como" con múltiples capas?
chrismarx
No, cada archivo necesita un nombre de archivo de destino diferente. Puede usar ogr2ogr en la línea de comando para el procesamiento por lotes.
AndreJ
Parece como si tal vez el apoyo de procesamiento por lotes, que apoya cosas como los valores iniciales adecuados para la nomenclatura de archivos automática podrían emplearse enviar sólo los archivos resultantes en una carpeta
chrismarx
6

Aquí está la herramienta de conversión para shapefile a geojson a través del navegador web sin código del lado del servidor y compatible con la codificación que no está en inglés, solo necesita cargar el archivo zip y configurar la codificación para el texto correcto.

https://github.com/gipong/shp2geojson.js

Si utiliza esta biblioteca con la API ap3 v3 de Google Map, puede omitir el campo de código EPSG porque el archivo ZIP (PlanS172.zip) descarga del sitio web del Distrito de Senados del Estado de Texas contiene el archivo .prj.

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

ingrese la descripción de la imagen aquí

Gipong
fuente
5

Vía línea de comando:

ogr2ogr -f GeoJSON -t_srs crs:84 output.geojson input.shp

Supongo que esto es lo que usa el cliente web de esta respuesta .

Martin Thoma
fuente
Acabo de probar. ¡Se comporta mucho mejor que QGIS cuando se trata del consumo de RAM!
Ikar Pohorský
2

Esto debería ayudarlo si solo necesita hacer algunos shapefiles

http://ogre.adc4gis.com/

Brett Cullen
fuente
eso es bastante bueno, estaba a punto de enviar un enlace con el ejemplo
ogr2ogr
-2

GeoJSON se basa en la notación de objetos de JavaScript. Aquí, en esta publicación, puede explorar diferentes métodos para convertir los archivos de forma en línea, fuera de línea o con la ayuda de API que puede utilizar. Así que mira esta publicación para convertir archivos de forma en archivos GeoJSON para usar en el mapa de Google.

Diferentes formas de convertir Shapefile a GeoJSON: en línea o fuera de línea o API

Himanshu Patel
fuente
2
Se recomiendan enlaces a recursos externos, pero agregue contexto alrededor del enlace para que sus usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que no se pueda acceder al sitio de destino o se desconecte permanentemente.
ArMoraer