Convertire Shapefile in GeoJSON?


19

Sto cercando di convertire Shapefile dal sito Web dei distretti del Senato dello stato del Texas in un file GeoJSON da utilizzare con l'API di Google Maps. Sto usando QGIS per facilitare ma non riesco a ottenere la proiezione / le coordinate giuste. Finora ho provato Google Mercator (EPSG: 900913) e WGS 84 (EPSG: 4326) senza fortuna. Sto usando gli OpenLayer per verificare i risultati e continua a posizionare il Texas vicino al Golfo di Guinea (0 lat, 0 lng).

Risposte:


23

Non è un problema caricare lo shapefile scaricabile direttamente in QGIS.

I dati sono in EPSG: 3081, è meglio lasciarli così. L'API di Google prevede valori latenti, quindi il CRS target dovrebbe essere EPSG: 4326.

Basta fare clic con il pulsante destro del mouse sul livello -> Salva con nome ... per scegliere il tipo di file GeoJSON, un nome file diverso ed EPSG: 4326 come nuovo CRS. Puoi aggiungere il risultato alla tela per vedere che si allineano ( On-the-fly-reprojectionselezionato).


un modo per "salvare come" con più livelli?
Chrismarx,

No, ogni file richiede un nome file di destinazione diverso. È possibile utilizzare ogr2ogr dalla riga di comando per l'elaborazione batch.
AndreJ,

sembra che forse il supporto per l'elaborazione in batch, che supporta cose come impostazioni predefinite sensibili per la denominazione automatica dei file, potrebbe essere impiegato per inviare i file risultanti in una cartella
chrismarx,

6

Ecco lo strumento di conversione per shapefile in geojson tramite browser Web senza codice lato server e supporto della codifica non inglese, è sufficiente caricare il file zip e impostare la codifica per il testo corretto.

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

Se si utilizza questa libreria con Google Map api v3, è possibile saltare il campo codice EPSG poiché il download dell'archivio ZIP (PlanS172.zip) dal sito Web dei distretti del Senato dello Stato del Texas contiene il file .prj.

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

inserisci qui la descrizione dell'immagine


5

Tramite riga di comando:

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

Immagino che questo sia ciò che utilizza il client Web da questa risposta .


Appena testato. Si comporta molto meglio di QGIS per quanto riguarda il consumo di RAM!
Ikar Pohorský,


-2

GeoJSON si basa sulla notazione oggetto JavaScript. Qui in questo post puoi esplorare diversi metodi per convertire gli shapefile online o offline o con l'aiuto dell'API di cui puoi avvalerti. Dai un'occhiata a questo post per convertire gli shapefile in file GeoJSON da utilizzare nella mappa di google.

Diversi modi per convertire Shapefile in GeoJSON: online o offline o API


2
I collegamenti a risorse esterne sono incoraggiati, ma si prega di aggiungere un contesto attorno al collegamento in modo che i tuoi colleghi utenti abbiano qualche idea di cosa sia e perché sia ​​lì. Cita sempre la parte più pertinente di un link importante, nel caso in cui il sito di destinazione non sia raggiungibile o rimanga permanentemente offline.
ArMoraer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.