使用D3将NZTM2000坐标转换为WGS84

时间:2015-08-11 10:42:09

标签: javascript map-projections

我一直试图将一些新西兰使用的横轴墨卡托投影(http://www.linz.govt.nz/data/geodetic-system/datums-projections-and-heights/projections/new-zealand-transverse-mercator-2000)的变量转换为WSG84的纬度/经度坐标,但没有成功。

NZTM2000规范称TM配置了以下参数:

  • 原产地纬度:°00'00“南
  • 原产地经度/中央梅里丹:173°00'00“东
  • False Northing:10,000,000米北
  • 假东方:东方1,600,000米
  • 中央子午线比例因子:0.9996

我试图在S3中使用它们:

var projection = d3.geo.transverseMercator()
    .rotate([origin_lat, origin_lng])
    .scale(scale_factor)
    .center([false_northing, false_esting])

(以及其他方式)。

我使用的是具有已知WGS84值的小数据子集:

NZTM2000                WSG84
---------------------   -------------------------------
Norting     Easting     Latitude        Longitude
5771280.5   1900560.5   38 09 22.691 S  176 25 48.538 E
5771280.5   1900570.5   38 09 22.679 S  176 25 48.948 E
5771280.5   1900571.5   38 09 22.678 S  176 25 48.989 E
5771280.5   1900572.5   38 09 22.677 S  176 25 49.030 E

任何帮助?

非常感谢

1 个答案:

答案 0 :(得分:1)

我终于找到了LINZ网站的解决方案。他们已经在http://www.linz.govt.nz/data/geodetic-services/download-geodetic-software#nztm2000处用C编码了算法。

然后,有人在https://github.com/leighghunt/nztm/blob/master/nztm/nztm.cs将其移植到C#。

我将这个最新版本移植到JavaScript,它运行得很好。

如果您需要我的版本,请给我发消息。

====== 你能在github上分享Javascript版本吗?我真的需要它