Использование D3 для преобразования координат NZTM2000 в WGS84

Я пытался преобразовать какой-то NZTM2000, вариант поперечной проекции Меркатора, используемый в Новой Зеландии (http://www.linz.govt.nz/data/geodetic-system/datums-projection-and-heights/projection/new-zealand-transverse-mercator-2000) в координаты широты / долготы WSG84 безуспешно.

Спецификации NZTM2000 говорят, что TM настроен со следующими параметрами:

  • Широта отправления: ° 00 '00 "южной широты.
  • Исходная долгота / центральный меридан: 173 ° 00 '00 "восточной долготы.
  • Ложное северное положение: 10 000 000 метров к северу.
  • Ложное восточное положение: 1600000 метров к востоку.
  • Масштабный коэффициент центрального меридиана: 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

Любая помощь?

Большое спасибо


person rgrocha    schedule 11.08.2015    source источник
comment
Этот ответ на аналогичный вопрос может помочь.   -  person altocumulus    schedule 12.08.2015
comment
Спасибо! Я прочитаю сообщение и размещенные там примеры и напишу здесь свои выводы.   -  person rgrocha    schedule 14.08.2015
comment
Похоже, что вопрос, который может быть решен, если удалить его отсюда и повторно задать в Географических информационных системах (он слишком старый для переноса) .   -  person PolyGeo    schedule 18.12.2015
comment
@rgrocha У меня вопрос, исходя из приведенного выше примера, какие значения вы выбрали для false_northing и false_easting? Вы во что-то конвертировали метры?   -  person arunkjn    schedule 06.10.2016


Ответы (1)


Я наконец нашел решение на сайте LINZ. У них уже есть алгоритм, закодированный на C, по адресу http://www.linz.govt.nz/data/geodetic-services/download-geodetic-software#nztm2000.

И опять же, кто-то перенес его на C # на https://github.com/leighghunt/nztm/blob/master/nztm/nztm.cs.

Я перенес эту последнюю версию на JavaScript, и она отлично работала.

Напишите мне, если хотите мою версию.

========= Не могли бы вы поделиться версией Javascript в github, пожалуйста? мне это действительно нужно

person rgrocha    schedule 12.01.2016
comment
По какой причине вы просто не включаете в ответ порт JavaScript? - person alphabetasoup; 24.07.2019
comment
это длинный файл. Я обновлю его на github сегодня же - person rgrocha; 24.07.2019
comment
Извините за (долгую) задержку. Наконец, это github.com/rgrocha/nztm2000js. - person rgrocha; 14.08.2019