经度纬度(WGS84)到Polyconic转换转换
我是一个为基于JavaScript的智能手机应用程序开发的新手程序员。经度纬度(WGS84)到Polyconic转换转换
应用程序使用navigator.geolocation API获取纬度&纬度。
我需要一个基于JavaScript的函数来将获得的位置转换为Easting使用Polyconic Transformation与“珠峰 - 印度1830”数据的北距离,这是我需要支持的。此外,还需要将Easting/Northing转换为经度/纬度的反函数。
经过在互联网上的研究,我碰到了proj4js。但是,我无法很清楚地了解所需转换程序&也没有找到足够的文档。
在此先感谢。
OK,使用Spatialreference.org的REST服务,您可以获取该投影(http://spatialreference.org/ref/sr-org/7345/proj4/),它原来的定义是
+proj=poly +lat_0=33.625 +lon_0=77.375 +x_0=0 +y_0=0 +a=6377301.243 +b=6356100.228368102 +units=m +no_defs
为了得到这个与proj4工作,创建于DEFS /文件夹的定义文件名为SRORG7345.js
包含以下内容:
Proj4js.defs["SRORG7345"] = "+proj=poly +lat_0=33.625 +lon_0=77.375 +x_0=0 +y_0=0 +a=6377301.243 +b=6356100.228368102 +units=m +no_defs";
那么做到这一点从EPSG改造:4236到您的新的投影:
<html>
<Script src='proj4js-compressed.js'></script>
<script src='defs/EPSG4236.js'></script>
<script src='defs/SRORG7345.js'></script>
<script>
// creating source and destination Proj4js objects
// once initialized, these may be re-used as often as needed
var source = new Proj4js.Proj('EPSG:4236'); //source coordinates will be in Longitude/Latitude
var dest = new Proj4js.Proj('SRORG7345'); //IndiaPolyConic
var p = new Proj4js.Point(-76.0,45.0); //any object will do as long as it has 'x' and 'y' properties
Proj4js.transform(source, dest, p); //do the transformation. x and y are modified in place
console.log(p);
</script>
</html>
我会注意到,根据proj4js项目页面,polyconic转换“尚未验证对任何测试点”,所以你可能需要做一些检查这些结果。
谢谢你...会给它一个镜头... – Kanchu
你知道你所投影的空间参考吗?我似乎无法找到它在这里列出http://spatialreference.org/ref/?search=polyconic&srtext=搜索和唯一参考珠穆朗玛峰1830导致'未知'(http://www.spatialreference.org/参考/ EPSG/4015 /)。如果没有这个,似乎你需要自己编写这个转换,这会很棘手。 – Graham
那么我所拥有的数据的变量是: Semi Major Axis - 6377301.243, E2 - 6.63784606842344E-03, 反平坦 - 300.801731007717。 对不起,我对地图投影和基准没有很清楚的了解。谢谢! – Kanchu
我认为它是“SR-ORG:7345” - IndiaPolyConic。 – Kanchu