Quel CRS utiliser pour Google Maps?

9

J'essaie de mapper un Shapefile ( téléchargement ) sur une carte Google en utilisant l'API Javascript. Le Shapefile décrit les limites des districts scolaires de New York.

La projection du fichier était Lambert Conformal Conic, et j'ai donc essayé de le convertir en Google Mercatorutilisant QGIS. Cependant, les coordonnées n'ont toujours pas de sens. Lorsque je mappe les polygones, ils couvrent toute la Terre.

Par exemple, l'un des points impossibles que j'obtiens est -8240484.27362, 4961069.9502.

Comment puis-je convertir correctement mon Shapefile dans un format acceptable?

LonelyWebCrawler
la source

Réponses:

10

Il est vrai que Google utilise Google Mercator (EPSG: 3857 ou EPSG: 900913) pour l'affichage, mais je pense que vous / l'API Javascript voulez des coordonnées lat / lon pour la saisie.

Convertissez donc les données en EPSG: 4326, et regardez si cela convient.

Vous pouvez charger le fichier de formes dans QGIS et utiliser le plugin Openlayers avec un arrière-plan Google ou Openstreetmap pour vérifier si la transformation est correcte.

AndreJ
la source
6

Google utilise la projection Google Mercator. EPSG: 900913. Pour les paramètres proj4, voir ici .

Pour afficher vos données dans Google Mercator: Dans la barre d'état QGIS, cliquez sur l'icône représentant un globe gris pour ouvrir la Project Propertiespage. Vérifiez Enable 'on the fly' CRS transformation, sélectionnez Google Mercator -EPSG 900913et cliquez Apply.

Pour enregistrer des données dans Google Mercator: cliquez avec le bouton droit sur le fichier de formes et sélectionnez Save As.. Sélectionner Custom CRSau lieu de Layer CRS et cliquez Browsepour l'ouvrir, Coordinate Reference System Selector sélectionnez Google Mercator EPSG:900913-le et cliquez surOK

rkm
la source
Merci, mais c'est exactement ce que j'ai fait. Dans le .prjdossier, ça dit même Google_Maps_Global_Mercator. Mais encore, les coordonnées sont farfelues.
LonelyWebCrawler
Aviez-vous un fichier .qpj. si c'est le cas, supprimez cela et recommencez
rkm
J'en avais un, mais la solution était de convertir le fichier en EPSG:4326.Merci pour votre aide!
LonelyWebCrawler
@rashad, 900913 est une autorité OpenLayers. La version d'EPSG est 3857.
mkennedy
4

Chargez le fichier de formes «tel quel» dans QGIS et Enregistrer au format KML fera la conversion et s'affichera correctement dans Google Earth.

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

entrez la description de l'image ici

pour Google Maps, vous devez télécharger le kml sur un serveur Web public.

Exemple de couche dans Google Maps API v3

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

Exemple de code:

  var ctaLayer = new google.maps.KmlLayer({
    url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml'
  });
  ctaLayer.setMap(map);
Mapperz
la source
Merci, mais j'envisageais d'utiliser un fichier de forme car il semble plus facile de dessiner des polygones pour chaque forme plutôt que de l'importer depuis KML, car j'aurais plus de contrôle sur la couleur, etc.
LonelyWebCrawler