Qual CRS usar no Google Maps?

9

Estou tentando mapear um Shapefile ( download ) em um mapa do Google usando a API Javascript. O Shapefile descreve os limites dos distritos escolares de Nova York.

A projeção do arquivo era Lambert Conformal Conice, portanto, tentei convertê-lo para o Google MercatorQGIS. No entanto, as coordenadas ainda não fazem sentido. Quando mapeio os polígonos, eles cobrem toda a Terra.

Por exemplo, um dos pontos impossíveis que recebo é -8240484.27362, 4961069.9502.

Como posso converter corretamente meu Shapefile para um formato aceitável?

LonelyWebCrawler
fonte

Respostas:

10

É verdade que o Google usa o Google Mercator (EPSG: 3857 ou EPSG: 900913) para exibição, mas acho que você / a API Javascript deseja coordenadas lat / lon para entrada.

Portanto, converta os dados em EPSG: 4326 e verifique se eles se encaixam.

Você pode carregar o shapefile no QGIS e usar o plug-in Openlayers com o plano de fundo do Google ou Openstreetmap para verificar se a transformação está correta.

AndreJ
fonte
6

O Google usa a projeção do Google Mercator. EPSG: 900913. Para configurações do proj4, veja aqui .

Para exibir seus dados no Google Mercator: Na barra de status do QGIS, clique no ícone cinza do globo para abrir a Project Propertiespágina. Verifique Enable 'on the fly' CRS transformatione selecione Google Mercator -EPSG 900913e clique Apply.

Para salvar dados no Google Mercator: Clique com o botão direito do mouse em shapefile e selecione Save As.. Selecionar em Custom CRSvez de Layer CRS e clique Browsepara abrir Coordinate Reference System Selector selecione Google Mercator EPSG:900913lá e clique emOK

rkm
fonte
Obrigado, mas foi exatamente o que eu fiz. No .prjarquivo, ele até diz Google_Maps_Global_Mercator. Mas ainda assim, as coordenadas são malucas.
LonelyWebCrawler
Você tinha o arquivo .qpj. se assim for, remova-o e faça novamente
rkm
Eu tinha um, mas a solução foi converter o arquivo em EPSG:4326.Obrigado pela sua ajuda!
LonelyWebCrawler
@rashad, 900913 é uma autoridade OpenLayers. A versão do EPSG é 3857.
mkennedy
4

Carregue o shapefile 'como está' no QGIS e o Save as KML fará a conversão e será exibido corretamente no Google Earth.

Consulte: http://pvanb.wordpress.com/2012/07/31/exporting-vector-layer-as-kml-in-qgis/

insira a descrição da imagem aqui

para o Google Maps, você precisa enviar o kml para um servidor da web voltado para o público.

Camada de exemplo na API do Google Maps v3

https://google-developers.appspot.com/maps/documentation/javascript/examples/full/layer-kml

Código de exemplo:

  var ctaLayer = new google.maps.KmlLayer({
    url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml'
  });
  ctaLayer.setMap(map);
Mapperz
fonte
Obrigado, mas eu estava pensando em usar um Shapefile porque parece mais fácil de desenhar polígonos para cada forma, em vez de importá-lo de KML, porque eu teria mais controle sobre a cor, etc.
LonelyWebCrawler