[OpenLayers-Users] Converting the output of getLonLatFromViewPortPx to spherical coordinates

J. Brian Adams jb_adams at verizon.net
Wed Oct 7 15:20:17 EDT 2009


Thanks Chris. Exactly what I was looking for.

I read your description of my question and thought "but that is what I  
said" but then reread my own and you are absolutely correct. What I  
was asking and what I wrote were not quite the same.

Thanks for your help.

Brian


On Oct 7, 2009, at 11:20 AM, Christopher Schmidt wrote:

> On Wed, Oct 07, 2009 at 10:33:45AM -0400, J. Brian Adams wrote:
>> Thanks Andrea, but sadly I had already tried that to no avail.
>>
>> The problem seems to be that mapnik (using epsg 4326) is UTM and
>> locations are measured in meters from (0, 0) while I need the actual
>> spherical coordinates in degrees.
>
> You're confusing terms a lot here.
>
> Most likely, what you're actually trying to say is that:
>
> "My mapnik tiles" (based on OSM, I assume?) "are projected in the  
> standard
>  'spherical mercator' projection, where units are meters from 0,0.
>  I am interested in getting the coordinates in decimal degrees,
>  commonly referred to as EPSG:4326."
>
>> I could work on a function to do the conversion, but before I do I
>> wanted to know if this was something that already exists.
>
> Get the result (a lonlat).
>
> Transform the result:
>
> lonlat.transform(new OpenLayers.Projection("EPSG:900913"),
>                 new OpenLayers.Projection("EPSG:4326"));
>
> Andreas's comments were about how you could change things like the
> MousePosition control, which displays these values.
>
> getLonLatFromPixel will always use the Map's projection.
>
> -- Chris
>
>> Thanks again,
>>
>> Brian
>>
>>
>> On Oct 7, 2009, at 3:41 AM, Andreas Hocevar wrote:
>>
>>> J. Brian Adams wrote:
>>>> I have been trying to mimic the Click Event Example in which a  
>>>> single
>>>> mouse click triggers an alert box showing the location of the click
>>>> in
>>>> spherical coordinates (degrees North and Ease.) In my code when I
>>>> click on a location the alert box shows the coordinates not as
>>>> degrees
>>>> (ie. 40 N -76.2 E) but instead as location (4865946 N, -8482597 E)
>>>>
>>>> Since I need to access the data in spherical coordinates, how  
>>>> might I
>>>> transform the result from what I assume is the epsg4326 projection
>>>> coordinates to degrees?
>>>>
>>>
>>> Just configure EPSG:4326 as displayProjection of your map, so it  
>>> looks
>>> like this:
>>>
>>> var map = new OpenLayers.Map("map", {
>>>   displayProjection: new OpenLayers.Projection("EPSG:4326")
>>> });
>>>
>>> Regards,
>>> Andreas.
>>>
>>>
>>>
>>> -- 
>>> Andreas Hocevar
>>> OpenGeo - http://opengeo.org/
>>> Expert service straight from the developers.
>>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>
> -- 
> Christopher Schmidt
> MetaCarta




More information about the Users mailing list