You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2013-03-07 14:25:19

Gimbly
Member
Registered: 2010-11-28
Posts: 18

OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Hallo in die Runde,

hab mal wieder ein kniffliges Problem, zu dem ich nicht fündig geworden bin:

Gibt es eine Möglichkeit, z.B. folgende Koordinate lon=8.2692718, lat=50.3055137, (wenn sie sich im aktuell angezeigten Karten-Ausschnitt befindet) in x/y-(Screen oder Window-) Koordinaten umzurechnen?

Viele Grüße,
Markus

Last edited by Gimbly (2013-03-07 14:30:08)

Offline

#2 2013-03-07 14:45:25

tunnelbauer
Member
Registered: 2012-01-13
Posts: 1,011
Website

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen


Grüße
Thomas

Offline

#3 2013-03-07 15:07:36

Gimbly
Member
Registered: 2010-11-28
Posts: 18

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Danke für die schnelle Antwort tunnelbauer.

Könntest du mir ein bischen mit OpenLayers.LonLat auf die Sprünge helfen?

Wie müsste das konkret aussehen?

Schonmal vielen Dank
Markus

Offline

#4 2013-03-07 15:35:14

Gimbly
Member
Registered: 2010-11-28
Posts: 18

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Habe da was gefunden:

map.getPixelFromLonLat(new OpenLayers.LonLat(lon,lat))

Mit meinen Koordinaten (8.2692718,50.3055137) krieg ich damit x=-49412,y=357548 raus.

Frage ist nur, auf welchen Nullpunkt sich das bezieht.

Offline

#5 2013-03-07 15:48:25

tunnelbauer
Member
Registered: 2012-01-13
Posts: 1,011
Website

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Ich glaube das hängt von der verwendeten Projektion ab... (glaube ich)


Grüße
Thomas

Offline

#6 2013-03-07 16:10:12

maxbe
Member
Registered: 2010-01-19
Posts: 3,255
Website

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Wenn Deine Karte in Mercator-Projektion vorliegt, musst Du die Längengrade und Breitengrade transformieren, bevor Du getPixelFromLonLat darauf loslässt:

var pixel=map.getPixelFromLonLat(new OpenLayers.LonLat(laengengrad,breitengrad).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913")));

Das hier zum Beispiel, gibt dir aus, wo (18W,65N) liegt. Ob das in Deinem Bild liegt, musst Du selber rauskriegen. Bei negativen Zahlen ist es klar, bei grossen positiven Koordinaten musst wissen, wie gross der Kartenbereich ist.

Last edited by maxbe (2013-03-07 16:55:46)

Offline

#7 2013-03-07 17:57:19

Gimbly
Member
Registered: 2010-11-28
Posts: 18

Re: OpenLayers: lat/lon in Pixel-Koordinaten umrechnen

Super, das isses!

Danke euch beiden!

Viele Grüße
Markus

Offline

Board footer

Powered by FluxBB