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).

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).


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


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.


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


-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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.