Как рассчитать координаты x, y-тайла по широте, длине, если даны изображения в методе проекции EPSG25832? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть вопрос, касающийся создания запросов к серверу WMTS и расчета количества плиток.

С на этом немецком правительственном веб-сайте. Я могу получить адрес для ихСервер WMTS: https://www.wmts.nrw.de/geobasis/wmts_nw_dop. Я могу успешно интегрировать его в josm в качестве слоя изображения (wmts: https://www.wmts.nrw.de/geobasis/wmts_nw_dop), и он отображается правильно.

Я могу наблюдать запрос сервера, сделанный josmв терминале, что-то вроде: 2019-09-26 18:54:31.651 INFO: GET https://www.wmts.nrw.de/geobasis/wmts_nw_dop/tiles/nw_dop/EPSG_25832_16/16/17680/35107 -> HTTP_1 200 (13.3 kB) Вы можете просмотреть это изображение плитки: https://www.wmts.nrw.de/geobasis/wmts_nw_dop/tiles/nw_dop/EPSG_25832_16/16/17680/35107

В этом rviz-plugin Я ввел строку для запроса: https://www.wmts.nrw.de/geobasis/wmts_nw_dop/tiles/nw_dop/EPSG_25832_16/{z}/{y}/{x}

Если я позволю rviz_s satellite вычислить y и x, я получу мусор в rviz: img

Я думаю, это потому, что изображения / плитки находятся в методе проекции EPSG25832,но rviz-satellite думает в проекции Меркатора. И мне нужно, чтобы изображения были в EPSG25832 из-за других отображаемых данных.

Если вы посмотрите на WMTSCapabilities.xml карт-сервера, вы можете увидетьесть явозрасты доступны до уровня масштабирования 16 и другая информация: https://www.wmts.nrw.de/geobasis/wmts_nw_dop/tiles/nw_dop/EPSG_25832_16/1.0.0/WMTSCapabilities.xml

Я посмотрел на методы, которые rviz-satellite использует для вычисления x и y , которыечто-то вроде этого:

// in Coordinates.h:
int const n = 1 << zoom;
double x = n * ((coord.lon + 180) / 360.0);
double y = n * (1 - (std::log(std::tan(lat_rad) + 1 / std::cos(lat_rad)) / M_PI)) / 2;

Но я думаю, что мне нужно сделать что-то вроде этого, из-за проекции EPSG25832 / UTM: https://en.wikipedia.org/wiki/Transverse_Mercator_projection

Я уже посмотрел на https://josm.openstreetmap.de/doc/org/openstreetmap/gui/jmapviewer/Tile.htm чтобы посмотреть, как это делает openstreetmap, но я ничего не нашел.

В общем: как вычислить координаты x, y-tile из lat, long, если даноизображения в методе проекции EPSG25832 (что делает josm / osm успешно)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...