Proj4js - можете ли вы преобразовать широту / долготу в UTM без зоны?

Я пытаюсь использовать Proj4js для выполнения некоторых преобразований координат, но там очень мало информации о том, как его использовать.

То, что я хочу сделать, это преобразовать широту и долготу в координаты UTM, но я не знаю, что такое зона. Это должно быть легко, поскольку долгота определяет зону и если вы знаете, что зона выходит по умолчанию.

Я пытался сделать это в Proj4js, но я получаю сообщение об ошибке

"Uncaught TypeError: undefined не является функцией"

Мой код выглядит следующим образом:

 proj4Arr = [-105.2098, 39.7458];
 var source = ('+proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees +no_defs');
 var dest = ("+proj=utm +ellps=GRS80 +datum=nad83 +units=m +no_defs");

 console.log(proj4(source, dest, proj4Arr));

Я просто не знаю, возможно ли это сделать без включенной зоны. Я мог бы сначала вычислить зону, а затем поместить ее в строку, если мне нужно, но я стараюсь сделать ее проще.

И если кто-нибудь знает какие-либо хорошие чисто js-ресурсы на примерах (необязательно использующие OpenLayers 3), я был бы также благодарен за это.

Спасибо!

2 ответа

Решение

Я думаю, что вам нужно будет указать информацию о зоне для проекций для проекций proj4, чтобы использовать библиотеку. Без зоны это не допустимая проекция proj4.

Вот вопрос о том, как определить зону от lon/lat.

И вот два примера: [1], [2]

Вы можете проверить код JS самостоятельно.

В этом году 2021 год, можно опубликовать работающий код, который не только отвечает на вопрос, но и демонстрирует все шаги, которые приводят к результатам преобразования координат.

Другие вопросы по тегам