При использовании API карт Gaode и Baidu для загрузки сервисов карт, таких как WMS и WMTS, часто используется проекционная система координат EPSG:3857. Однако при загрузке обнаруживается смещение, вызванное несоответствием систем координат.
Система координат Gaode — GCJ-02, а система координат Baidu — BD-09, которая является смещением от GCJ-02. Эти системы координат не зарегистрированы в EPSG, поэтому преобразование координат с помощью библиотеки Proj.4 невозможно.
Можно ли выполнить коррекцию смещения в целом? Нет, потому что отклонение системы координат GCJ-02 относительно системы координат WMS нелинейно и случайно. Это создаёт трудности для разработчиков внутри страны, поскольку они не могут не использовать координаты WGS, которые являются международными, но также сталкиваются с препятствиями при преобразовании координат WGS в систему координат GCJ-02.
Однако есть решение: и Gaode, и Baidu предоставляют функции преобразования координат для отдельных точек. Мы можем использовать эти функции для коррекции смещения фрагментов. Существует также открытый проект gcoord, который объединяет преобразования Baidu и Gaode.
Когда Gaode или Baidu запрашивают фрагменты слоя карты, можно вычислить координаты BBOX для каждого фрагмента. По умолчанию используются вычисленные координаты BBOX для запроса услуг WMS или WMTS, что приводит к смещению. Мы можем выполнить коррекцию смещения для вычисленных координат BBOX и использовать скорректированные координаты для запроса картографических услуг, чтобы обеспечить соответствие карт.
Использование преобразования координат gcoord не вызывает проблем с Gaode, но после преобразования Baidu возникает проблема смещения фрагментов. Причина этой проблемы сложна. Поскольку координаты Baidu основаны на координатах WGS84, прямое преобразование координат Baidu в координаты WGS84 даёт приблизительный результат, что приводит к смещению фрагментов.
Один из возможных подходов заключается в следующем:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )