如何解决proj4php 坐标转换
我需要从在 Google 地图坐标中使用投影 EPSG:3003 的 shapefile 转换坐标。从 shapefile 中获取坐标后,我使用 proj4php 以这种方式进行转换:
$north = 1624338.6158679412;
$east = 4974931.809101403;
$proj4->addDef("EPSG:3003",'+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs');
$projS = new Proj('EPSG:3003',$proj4);
$projWGS84 = new Proj('EPSG:4326',$proj4);
$pointSrc = new Point($north,$east,$projS);
$pointDest = $proj4->transform($projWGS84,$pointSrc);
结果不准确 $pointDest 为 10.575224171027639,44.91529737082107 在它应该在的地方以南几米处。
我找到了这个答案 https://gis.stackexchange.com/a/48952,而且 Google 地图似乎使用 EPSG:3857 而不是 EPSG:4326。 在这里 https://epsg.io/3857 我找到了 EPSG:3857 的定义,所以我尝试以这种方式进行转换:
$north = 1624338.6158679412;
$east = 4974931.809101403;
$proj4->addDef("EPSG:3857",'+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs');
$proj4->addDef("EPSG:3003",$proj4);
$projWGS84 = new Proj('EPSG:3857',$pointSrc);
但是这个转换返回 1177228.5697435152,5608325.870501241 好像不是WGS84坐标。
知道问题出在哪里吗? 谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。