Converter Shapefiles para GeoJSON?

19

Estou tentando converter Shapefiles do site Distritos do Senado do Estado do Texas em um arquivo GeoJSON para uso com a API do Google Maps. Estou usando o QGIS para facilitar, mas não consigo acertar a projeção / coordenadas. Até agora, tentei o Google Mercator (EPSG: 900913) e o WGS 84 (EPSG: 4326) sem sorte. Estou usando o OpenLayers para verificar os resultados e ele continua colocando o Texas perto do Golfo da Guiné (0 lat, 0 lng).

user28781
fonte

Respostas:

23

Não há problema em carregar o shapefile para download diretamente no QGIS.

Os dados estão no EPSG: 3081, é melhor deixar assim. A API do Google espera valores de longo prazo, portanto, o CRS de destino deve ser EPSG: 4326.

Basta clicar com o botão direito na camada -> Salvar como ... para escolher o tipo de arquivo GeoJSON, um nome de arquivo diferente e EPSG: 4326 como novo CRS. Você pode adicionar o resultado à tela para ver se eles estão alinhados ( On-the-fly-reprojectionselecionados).

AndreJ
fonte
alguma maneira de "salvar como" com várias camadas?
chrismarx
Não, todo arquivo precisa de um nome de arquivo de destino diferente. Você pode usar ogr2ogr na linha de comandos para o processamento em lote.
ANDREJ
Parece que talvez o suporte de processamento em lote, que suporta coisas como padrões sensíveis para nomeação automática de arquivos poderia ser empregado apenas enviar os arquivos resultantes para uma pasta
chrismarx
6

Aqui está a ferramenta de conversão de shapefile para geojson via navegador da web, sem código do lado do servidor e suporte para codificação que não seja em inglês, basta fazer o upload do arquivo zip e definir a codificação para o texto correto.

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

Se você usar esta biblioteca com o Google Map api v3, poderá pular o campo de código EPSG porque o download do arquivo ZIP (PlanS172.zip) do formulário do site dos Distritos do Senado do Estado do Texas contém o arquivo .prj.

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

insira a descrição da imagem aqui

Gipong
fonte
5

Via linha de comando:

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

Eu acho que é isso que o cliente web desta resposta usa.

Martin Thoma
fonte
Apenas testado. Comporta-se muito melhor que o QGIS quando se trata do consumo de RAM!
Ikar Pohorský
2

Isso deve ajudá-lo se você precisar apenas fazer alguns shapefiles

http://ogre.adc4gis.com/

Brett Cullen
fonte
isso é muito bom, eu estava prestes a enviar um link com o exemplo ogr2ogr
geomajor56
-2

GeoJSON é baseado em JavaScript Object Notation. Aqui neste post, você pode explorar diferentes métodos para converter os shapefiles online, offline ou com a ajuda da API da qual você pode usar. Então confira este post para converter arquivos shapefiles em arquivos GeoJSON para usar no mapa do google.

Diferentes maneiras de converter Shapefile para GeoJSON - Online ou Offline ou API

Himanshu Patel
fonte
2
Os links para recursos externos são incentivados, mas adicione contexto ao redor do link para que seus colegas usuários tenham uma idéia do que é e por que está lá. Sempre cite a parte mais relevante de um link importante, caso o site de destino esteja inacessível ou fique permanentemente offline.
ArMoraer