[OpenLayers-Users] How to change geometry's projection
back andforth
Bart van den Eijnden (OSGIS)
bartvde at osgis.nl
Mon Dec 8 15:00:17 EST 2008
It's fixed as you can see here:
http://trac.osgeo.org/proj4js/browser/trunk/lib/proj4js.js
Best regards,
Bart
Arnd Wippermann wrote:
> Hi Mika,
>
> It was dicussed to remove this part from proj4js, but I also use an old
> version of proj4js and don't no, what is (if there is) in the new version.
>
> Arnd
>
>
> -----Ursprüngliche Nachricht-----
> Von: mika at digikartta.net [mailto:mika at digikartta.net]
> Gesendet: Montag, 8. Dezember 2008 20:51
> An: Arnd Wippermann
> Cc: users at openlayers.org
> Betreff: Re: AW: [OpenLayers-Users] How to change geometry's projection back
> andforth
>
> Thanks Arnd,
>
> you nailed it. Removing
> if (point.transformed) {
> this.log("point already transformed");
> return;
> }
> made it possible to reproject the geometry back. Just wondering whether
> there had been any changes in newer proj4js.. Mine is dated 2007. Have to
> check that.
>
> So this was not an Openlayers issue after all.
>
> - mika -
>
> Arnd Wippermann kirjoitti:
>
>> Hi,
>>
>> Perhaps this is the issue:
>> http://www.mail-archive.com/users@openlayers.org/msg04875.html
>>
>> Arnd Wippermann
>>
>> -----Ursprüngliche Nachricht-----
>> Von: users-bounces at openlayers.org
>> [mailto:users-bounces at openlayers.org] Im Auftrag von Lehtonen, Mika
>> Gesendet: Montag, 8. Dezember 2008 15:57
>> An: OpenLayers
>> Betreff: [OpenLayers-Users] How to change geometry's projection back
>> andforth
>>
>> Hi,
>> I am trying to limit the size of a drawn geometry (regular polygon).
>> So after the feature is created, I jump to my limiting function which
>> suppose to redraw the geometry taking into account the set limit. My
>> map is in
>> EPSG:900913 (spherical mercator) because of the Google base maps, but
>> all my geometries are natively in EPSG:2393. So in order to accomplish
>> some comparison I have to reproject the drawn polygon into 2393, do
>> the comparison and then reproject it back to 900913. The drawn
>> geometry reprojects nicely to 2393 (with proj4js) but I can't get the
>> new geometry reprojected back. What's wrong with this? Here is the
>> essential:
>> geometria = event.feature;
>> kkj = geometria.geometry;
>> kkj.transform(new
>> OpenLayers.Projection("EPSG:900913"), new
>> OpenLayers.Projection("EPSG:2393"));
>> radius =
>> OpenLayers.Number.limitSigDigs((kkj.getBounds().getHeight()/1000),2);
>> if (radius > 50) {
>> var scale = 50 / radius;
>> var x = kkj.getBounds().getCenterLonLat().lon;
>> var y = kkj.getBounds().getCenterLonLat().lat;
>> var origin = new OpenLayers.Geometry.Point(x,y);
>> kkj.resize(scale,origin,1); alert(kkj);
>> kkj.transform(new
>> OpenLayers.Projection("EPSG:2393"), new
>> OpenLayers.Projection("EPSG:900913"));
>> alert(kkj); /* this is exactly the same than it was before */
>> geometria.geometry = kkj;
>> vlayer.drawFeature(geometria);
>> // vlayer.redraw(true);
>> OpenLayers.Util.getElement('metapalkki').innerHTML = "
>> Hakuympyrän säde voi olla max. 50 km!";
>> } else {
>> OpenLayers.Util.getElement('metapalkki').innerHTML = "
>> Hakuympyrän säde on " + radius + "km";
>> }
>>
>> If I do this without reprojection, the geometry limitation works,
>> although the scale is a little bit wrong and my other comparisons
>> don't work because they should be using 2393.
>>
>> - mika -
>> _______________________________________________
>> Users mailing list
>> Users at openlayers.org
>> http://openlayers.org/mailman/listinfo/users
>>
>>
>>
>
> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users
>
>
>
--
Bart van den Eijnden
OSGIS, Open Source GIS
bartvde at osgis.nl
http://www.osgis.nl
More information about the Users
mailing list