1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gee1k-CoordinateTransform

Клонировать/Скачать
README.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 14:38 bb71518

#Координатный_трансформатор

Описание

Модуль для преобразования координат между системами Бaidu (BD09), WGS84 и марсианской системой (ГНС, GCJ02).

Возможность использования

Преобразование может содержать смещение, но его можно использовать.

Координатные системы

WGS84

  • Международный стандарт, используется для получения данных от GPS-устройств.
  • Используется в качестве основной системы координат международными провайдерами карт.

Марсианская система (GCJ-02)

  • Китайский стандарт, используемый для получения координат из мобильных устройств.
  • В соответствии с государственными требованиями, все публикации карт в Китае должны использовать GCJ-02 для первичного шифрования географических местоположений.

Бaidu система (BD-09)

  • Стандарт компании Baidu, используется в SDK и картах Baidu.

Пример использования

  1. JavaScript Для использования модуля импортируйте CoordinateTransform.js из папки disk.
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Пример использования JS для координатного преобразования</title>
</head>
<body>
    <h1>Предоставляет преобразование координат между системами Бaidu (BD09), марсианской (GCJ02) и WGS84.</h1>
    <h1>Результаты можно просмотреть в консоли</h1>
</body>
<script type="text/javascript" src="./disk/CoordinateTransform.js"></script>
<script type="text/javascript">
    var lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887);
    console.log(lngLat_wgs84);
</script>
``````markdown
var lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1]);
console.log(lngLat_bd09);

lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887);
console.log(lngLat_wgs84);

var lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1]);
console.log(lngLat_gcj02);

lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887);
console.log(lngLat_gcj02);

var lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1]);
console.log(lngLat_bd09);
</script>
</html>

### Java

Добавьте `CoordinateTransform.java` из папки disk в ваш проект.

```java
public class Main {
    public static void main(String[] args) {
        // Преобразование координат Бaidu (BD09) в WGS84
        double[] coordinates = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887);
        System.out.println(Arrays.toString(coordinates));

        // WGS84 координаты в Бaidu Map BD09
        double[] lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_wgs84[0] + ", lat :" + lngLat_wgs84[1]);

        double[] lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1]);
        System.out.println("lng :" + lngLat_bd09[0] + ", lat :" + lngLat_bd09[1]);

        // Mars coordinates (GCJ02) to WGS84
        lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_wgs84[0] + ", lat :" + lngLat_wgs84[1]);

        // WGS84 to Mars coordinates (GCJ02)
        double[] lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1]);
        System.out.println("lng :" + lngLat_gcj02[0] + ", lat :" + lngLat_gcj02[1]);

        // Baidu Map BD09 to Mars coordinates (GCJ02)
        lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_gcj02[0] + ", lat :" + lngLat_gcj02[1]);

        // Mars coordinates (GCJ02) to Baidu Map BD09
        lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1]);
        System.out.println("lng :" + lngLat_bd09[0] + ", lat :" + lngLat_bd09[1]);
    }
}
``````py
import CoordinateTransform

# координаты карты Baidu BD09 к WGS84
lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887)
print(lngLat_wgs84)

# координаты WGS84 к Baidu Map BD09
lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1])
print(lngLat_bd09)

# координаты Mars (GCJ02) к WGS84
lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887)
print(lngLat_wgs84)

# координаты WGS84 к Mars (GCJ02)
lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1])
print(lngLat_gcj02)

# координаты Baidu Map BD09 к Mars (GCJ02)
lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887)
print(lngLat_gcj02)

# координаты Mars (GCJ02) к Baidu Map BD09
lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1])
print(lngLat_bd09)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gee1k-CoordinateTransform.git
git@api.gitlife.ru:oschina-mirror/gee1k-CoordinateTransform.git
oschina-mirror
gee1k-CoordinateTransform
gee1k-CoordinateTransform
master