Hi, Perhaps this is the issue: http://www.mail-archive.com/[email protected]/msg04875.html Arnd Wippermann
-----Ursprüngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 [email protected] http://openlayers.org/mailman/listinfo/users _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
