OpenLayers is set up to use Proj4js internally which will do the coordinate conversion for you on the client side.. Have a look at http://trac.osgeo.org/proj4js/

Mike

On 7/20/2010 9:23 AM, Subhani Minhas wrote:
Hello All, I recently came across, the site http://spatialreference.org/ref/epsg/24378/ which can show coordinates of projection EPSG:24378 once we click on the map, I am interested to put the same functionality on my locally hosted html file and perform the coordinate calculation client side, i.e no server side calculations from http://spatialreference.org . The code referred was map.js in the HTML file which is as follows:
function init(code) {
     m = new OpenLayers.Map('map', {'maxResolution': 360/512});
     m.addLayer(new OpenLayers.Layer.WMS('', 
'http://labs.metacarta.com/wms-c/Basic.py', {'layers':'basic'}));

     m.addLayer(new OpenLayers.Layer.Markers(''));
     m.zoomToMaxExtent();
     m.marker = new OpenLayers.Marker(new OpenLayers.LonLat(0,0));
     m.layers[1].addMarker(m.marker);
     if (window.bounds) {

     m.addLayer(new OpenLayers.Layer.Boxes());
     m.layers[2].addMarker(new OpenLayers.Marker.Box(bounds));
     }
     m.events.register('moveend', m, function() {
         var c = this.getCenter();
         this.marker.moveTo(this.getLayerPxFromLonLat(c));

         document.getElementById("out").innerHTML = "Waiting...";
         document.getElementById("in").innerHTML = [c.lon,c.lat].join(", ");
         var json = '{"type":"Feature", "geometry":{"type":"Point", "coordinates":[' + 
c.lon + ', '+ c.lat + ']},"properties":{}}';

         var s = document.createElement("script");
         s.src = "/projection/?json=" + escape(json) + 
"&inref=EPSG:4326&outref="+code+"&callback=project_out"
         document.body.appendChild(s);

     });
     if (window.bounds) {
         m.setCenter(bounds.getCenterLonLat());
     } else {
         m.zoomToMaxExtent();
     }
}
function project_out(data) {
     if (data.coordinates) {

       document.getElementById("out").innerHTML = data.coordinates.join(", ");
     } else if (data.error) {
         if (window.console) {
             console.log(data.error);
         }
         document.getElementById('out').innerHTML = 'An error occurred.';

     }
}

while the html only has following script:

var bounds = new OpenLayers.Bounds(70.329999999999998, 28.0, 
97.450000000000003, 35.549999999999997);

defining bounds of this specific projection:


How can i use this code locally, i want to place it in e.g examples folder of 
OL 2.9 source, and make it work, but the projection information is missing 
which is as follows in WKT:
PROJCS["Kalianpur 1975 / India zone I",

     GEOGCS["Kalianpur 1975",
         DATUM["Kalianpur_1975",

             SPHEROID["Everest 1830 (1975 Definition)",6377299.151,300.8017255,

                 AUTHORITY["EPSG","7045"]],
             TOWGS84[295,736,257,0,0,0,0],

             AUTHORITY["EPSG","6146"]],
         PRIMEM["Greenwich",0,

             AUTHORITY["EPSG","8901"]],
         UNIT["degree",0.01745329251994328,

             AUTHORITY["EPSG","9122"]],
         AUTHORITY["EPSG","4146"]],

     UNIT["metre",1,
         AUTHORITY["EPSG","9001"]],

     PROJECTION["Lambert_Conformal_Conic_1SP"],
     PARAMETER["latitude_of_origin",32.5],

     PARAMETER["central_meridian",68],
     PARAMETER["scale_factor",0.99878641],

     PARAMETER["false_easting",2743195.5],
     PARAMETER["false_northing",914398.5],

     AUTHORITY["EPSG","24378"],
     AXIS["Easting",EAST],

     AXIS["Northing",NORTH]]
.

Any help or source code will be highly appreciated.




_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

--
   Michael Adair
   Senior Software Architect
   DM Solutions Group Inc.

   Office: (613) 565-5056 x26
   [email protected]
   http://www.dmsolutions.ca
   http://research.dmsolutions.ca


_______________________________________________
Users mailing list
[email protected]
http://openlayers.org/mailman/listinfo/users

Reply via email to