Welches CRS soll für Google Maps verwendet werden?

9

Ich versuche, ein Shapefile ( Download ) mithilfe der Javascript-API auf eine Google Map abzubilden . Das Shapefile beschreibt die Grenzen der Schulbezirke von NYC.

Die Projektion der Datei war Lambert Conformal Conic, und so habe ich versucht, sie in Google MercatorQGIS zu konvertieren . Die Koordinaten sind jedoch immer noch nicht sinnvoll. Wenn ich die Polygone abbilde, bedecken sie die gesamte Erde.

Zum Beispiel, einer der unmöglich Punkte , die ich bekommen ist -8240484.27362, 4961069.9502.

Wie kann ich mein Shapefile ordnungsgemäß in ein akzeptables Format konvertieren?

LonelyWebCrawler
quelle

Antworten:

10

Es stimmt, dass Google Google Mercator (EPSG: 3857 oder EPSG: 900913) für die Anzeige verwendet, aber ich denke, Sie / die Javascript-API möchten Lat / Lon-Koordinaten für die Eingabe.

Konvertieren Sie also die Daten in EPSG: 4326 und prüfen Sie, ob sie passen.

Sie können das Shapefile in QGIS laden und das Openlayers-Plugin mit Google- oder Openstreetmap-Hintergrund verwenden, um zu überprüfen, ob die Umwandlung korrekt ist.

AndreJ
quelle
6

Google verwendet die Google Mercator-Projektion. EPSG: 900913. Die proj4-Einstellungen finden Sie hier .

So zeigen Sie Ihre Daten in Google Mercator an: Klicken Sie in der QGIS-Statusleiste auf das graue Globussymbol, um die Project PropertiesSeite zu öffnen . Aktivieren Enable 'on the fly' CRS transformationund auswählen Google Mercator -EPSG 900913und klicken Apply.

So speichern Sie Daten in Google Mercator: Klicken Sie mit der rechten Maustaste auf Shapefile und wählen Sie Save As.. Auswählen Custom CRSanstelle von Layer CRS und klicken Sie Browse, Coordinate Reference System Selector um Google Mercator EPSG:900913dort die Auswahl zu öffnen und zu klickenOK

rkm
quelle
Danke, aber genau das habe ich getan. In der .prjDatei steht sogar Google_Maps_Global_Mercator. Trotzdem sind die Koordinaten verrückt.
LonelyWebCrawler
Hatten Sie eine .qpj-Datei? Wenn ja, entfernen Sie das und wiederholen Sie den
Vorgang
Ich hatte eine, aber die Lösung bestand darin, die Datei in EPSG:4326.Danke für Ihre Hilfe zu konvertieren !
LonelyWebCrawler
@rashad, 900913 ist Autorität OpenLayers. EPSGs Version ist 3857.
mkennedy
4

Laden Sie das Shapefile "wie es ist" in QGIS und "Save as KML" führt die Konvertierung durch und wird in Google Earth korrekt angezeigt.

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

Geben Sie hier die Bildbeschreibung ein

Für Google Maps müssen Sie die kml auf einen öffentlich zugänglichen Webserver hochladen.

Beispiel-Layer in Google Maps API v3

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

Beispielcode:

  var ctaLayer = new google.maps.KmlLayer({
    url: 'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml'
  });
  ctaLayer.setMap(map);
Mapperz
quelle
Vielen Dank, aber ich habe überlegt, ein Shapefile zu verwenden, da es einfacher zu sein scheint, Polygone für jede Form zu zeichnen, als sie aus KML zu importieren, da ich mehr Kontrolle über Farben usw. hätte.
LonelyWebCrawler