Convertir des Shapefiles en GeoJSON?


19

J'essaie de convertir des fichiers Shapefiles du site Web des districts du Sénat de l' État du Texas en un fichier GeoJSON à utiliser avec l'API Google Maps. J'utilise QGIS pour faciliter mais je n'arrive pas à obtenir la bonne projection / coordonnées. Jusqu'à présent, j'ai essayé Google Mercator (EPSG: 900913) et WGS 84 (EPSG: 4326) sans succès. J'utilise les OpenLayers pour vérifier les résultats et il continue de placer le Texas près du golfe de Guinée (0 lat, 0 lng).

Réponses:


23

Ce n'est pas un problème de charger le fichier de formes téléchargeable directement dans QGIS.

Les données sont en EPSG: 3081, vous feriez mieux de laisser les choses de cette façon. L'API Google attend des valeurs latlong, donc le CRS cible doit être EPSG: 4326.

Faites un clic droit sur le calque -> Enregistrer sous ... pour choisir le type de fichier GeoJSON, un nom de fichier différent et EPSG: 4326 comme nouveau CRS. Vous pouvez ajouter le résultat au canevas pour voir qu'il s'aligne ( On-the-fly-reprojectionsélectionné).


un moyen de "sauvegarder sous" avec plusieurs couches?
chrismarx

Non, chaque fichier a besoin d'un nom de fichier de destination différent. Vous pouvez utiliser ogr2ogr sur la ligne de commande pour le traitement par lots.
AndreJ

semble que la prise en charge du traitement par lots, qui prend en charge des éléments tels que les valeurs par défaut sensibles pour la dénomination automatique des fichiers, pourrait être utilisée pour simplement envoyer les fichiers résultants vers un dossier
chrismarx

6

Voici l'outil de conversion pour le fichier de formes en geojson via un navigateur Web sans code côté serveur et prenant en charge le codage non anglais, il suffit de télécharger le fichier zip et de définir le codage pour le texte correctement.

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

Si vous utilisez cette bibliothèque avec Google Map api v3, vous pouvez ignorer le champ de code EPSG car le fichier d'archive ZIP (PlanS172.zip) du site Web des districts du Sénat de l'État du Texas contient le fichier .prj.

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

entrez la description de l'image ici


5

Via la ligne de commande:

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

Je suppose que c'est ce que le client Web de cette réponse utilise.


Je viens de tester. Se comporte bien mieux que QGIS en termes de consommation de RAM!
Ikar Pohorský


-2

GeoJSON est basé sur la notation d'objet JavaScript. Ici, dans cet article, vous pouvez explorer différentes méthodes pour convertir les fichiers de formes en ligne, hors ligne ou à l'aide d'API que vous pouvez utiliser. Consultez donc cet article pour convertir des fichiers de formes en fichiers GeoJSON à utiliser dans la carte Google.

Différentes façons de convertir Shapefile en GeoJSON - en ligne ou hors ligne ou API


2
Les liens vers des ressources externes sont encouragés, mais veuillez ajouter du contexte autour du lien afin que vos collègues utilisateurs aient une idée de ce que c'est et pourquoi il est là. Citez toujours la partie la plus pertinente d'un lien important, au cas où le site cible serait inaccessible ou se déconnecterait définitivement.
ArMoraer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.