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

OSCHINA-MIRROR/kl222-TransformCoordinate

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Преобразование координатной системы

Автор: Конг Лин kl222@126.com

Статус сборки Windows Сборка Звезды на GitHub Звезды на Gitee

GitHub версия выпуска GitHub последний выпуск

GitHub общее количество загрузок всех выпусков Количество загрузок с SourceForge

Загрузка с SourceForge

  • WGS84: Это географическая система координат, используемая в глобальной навигационной спутниковой системе (GNSS).
  • GCJ02: Известна как "марсианская" система координат, разработана Китайским государственным геодезическим управлением на основе системы WGS84.
  • BD09: Это система координат компании Baidu, основанная на системе GCJ02. bd09ll представляет собой координаты широты и долготы Baidu, а bd09mc — метрические координаты проекции Mercator Baidu. Проект также включает модуль работы с GPX-файлами.

В проект входят:

  • Библиотека C++:
    • Библиотека преобразования координат: TransformCoordinate
    • Библиотека работы с GPX-файлами: GpxModel
  • Программа преобразования координат: TransformCoordinateApp

Поддерживаемые платформы

  • Windows 7 SP2 и выше
  • Linux
  • Android
  • macOS
  • iPhone

Примечание: У меня нет устройств macOS и iPhone. Прошу друзей с этими устройствами самостоятельно протестировать и предоставить обратную связь. Также можно сделать пожертвование средств или оборудования, свяжитесь со мной по адресу: kl222@126.com.

Дополнительно см.: Поддерживаемые платформы Qt5, Поддерживаемые платформы Qt6.

Скачать установочные пакеты- Ubuntu

Компиляция

Загрузка исходного кода```bash

git clone https://github.com/KangLin/TransformCoordinate.git


#### Внешние зависимости
+ Инструменты компиляции
  + [Qt](http://qt.io/)
  + Компилятор
    - Для Linux или Android
        + Утилита GNU Make
        + Компилятор GCC или Clang
    - Для Windows
        + [MSVC](http://msdn.microsoft.com/en-us/vstudio)
        + MinGW
  + [CMake](http://www.cmake.org/)
+ Библиотеки зависимостей
  - [Обязательная] Rabbit общая библиотека (RabbitCommon):
    - Исходный код: `https://github.com/KangLin/RabbitCommon`
    - Раздел с выпусками: `https://github.com/KangLin/RabbitCommon/releases`

#### Параметры конфигурации CMake
  - [Обязательная] QT_DIR: путь установки Qt
    - [Необязательная] Qt5_DIR: путь установки Qt5
    - [Необязательная] Qt6_DIR: путь установки Qt6
  - [Необязательная] RabbitCommon_DIR: путь исходного кода RabbitCommon

#### Компиляция для различных платформ
##### Компиляция для платформы Linux

- Компиляция

```bash
git clone https://github.com/KangLin/RabbitCommon.git
git clone https://github.com/KangLin/TransformCoordinate.git
cd TransformCoordinate
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/install \
    -DCMAKE_BUILD_TYPE=Release \
    -DQT_DIR=...... \
    -DQt6_DIR=...... \
    -DRabbitCommon_DIR= \
    [Другие необязательные параметры CMake]
cmake --build . --config Release
  • Создание пакета
cmake --build . --config Release --target package
  • Запуск примера
    • [Необязательная] Добавление директории с созданными библиотеками в переменную окружения LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/lib
  • Выполнение программы из каталога bin
cd TransformCoordinate
cd build
cd bin
./TransformCoordinateApp
```##### Компиляция для платформы Windows

- Используйте `cmake-gui.exe` для компиляции. Откройте `cmake-gui.exe` и выполните конфигурирование.
- Компиляция через командную строку
  + Добавьте директорию с `cmake` в переменную окружения `PATH`
  + Откройте "Командная строка разработчика VS2015" из меню "Пуск", чтобы войти в командную строку

    - Компиляция

```cmd
cd TransformCoordinate
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=%CD%/install ^
    -DCMAKE_BUILD_TYPE=Release ^
    -DQT_DIR=...... ^
    -DQt6_DIR=...... ^
    -DRabbitCommon_DIR= ^
    [Другие необязательные параметры CMake]
cmake --build . --config Release
- Упаковка
cmake --build . --config Release --target package
- Запуск примера
  + Выполните программу в директории `bin`
    - `TransformCoordinateApp.exe`
Инструкция по сборке для платформы Android
  • Установите компилятор NDK

    • Скачайте NDK с https://developer.android.com/ndk/downloads и установите его по пути: /home/android-ndk

    • Установите переменные окружения:

      ```sh
      export ANDROID_NDK=/home/android-ndk
      ```
  • Установите SDK инструменты

    • Скачайте SDK инструменты с https://developer.android.google.cn/studio/releases и установите их по пути /home/android-sdk

    • Установите переменные окружения:

      ```sh
      export ANDROID_SDK=/home/android-sdk
      ```
  • Сборка

    • Хост — Linux cd TransformCoordinate mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=pwd/android-build
      -DCMAKE_BUILD_TYPE=Release
      -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake
      -DANDROID_ABI="armeabi-v7a with NEON"
      -DANDROID_PLATFORM=android-18
      -DQT_DIR=......
      -DQt6_DIR=......
      -DRabbitCommon_DIR=
      [Другие опциональные параметры CMake] cmake --build . --config Release --target package - Хост — Windows

      cd TransformCoordinate
      mkdir build
      cd build
      cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/android-build ^
               -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ^
               -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake ^
               -DCMAKE_MAKE_PROGRAM=${ANDROID_NDK}/prebuilt/windows-x86_64/bin/make.exe ^
               -DANDROID_ABI=arm64-v8a ^
               -DANDROID_ARM_NEON=ON ^
               -DQT_DIR=...... ^
               -DQt6_DIR=...... ^
               -DRabbitCommon_DIR= ^
               [Другие опциональные параметры CMake]
      cmake --build . --config Release --target package  - Параметры CMake для Android:
      • ANDROID_ABI: допустимые значения: Целевой ABI. Если целевой ABI не указан, CMake использует по умолчанию armeabi-v7a. Допустимые значения для целевого ABI:

        • armeabi: процессор с программной арифметикой с плавающей запятой на основе ARMv5TE.
        • armeabi-v7a: устройство на основе ARMv7 с аппаратной арифметикой с плавающей запятой (VFPv3-D16).
        • armeabi-v7a с NEON: то же самое что и armeabi-v7a, но с включенным NEON для арифметики с плавающей запятой. Это эквивалентно установке -DANDROID_ABI=armeabi-v7a и -DANDROID_ARM_NEON=ON.
        • arm64-v8a: инструкции ARMv8 AArch64.
        • x86: IA-32 инструкции.
        • x86_64: инструкции для архитектуры x86-64.
      • ANDROID_NDK <путь>: абсолютный путь к корневому каталогу установленного NDK на хосте

      • ANDROID_PLATFORM: полный список платформ и соответствующих им систем Android см. в разделе Android NDK Native APIs

      • ANDROID_ARM_MODE

      • ANDROID_ARM_NEON + ANDROID_STL: указывает STL, который должен использовать CMake. По умолчанию CMake использует c++_static.

        • c++_shared: использование динамической библиотеки libc++
        • c++_static: использование статической библиотеки libc++
        • none: отсутствие поддержки C++ библиотек
        • system: использование системы STL
    • Установка APK на устройство

      adb install android-build-debug.apk
Инструкция по сборке для платформы macOS
  • Сборка

    cd TransformCoordinate
    mkdir build
    cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd)/install \
        -DCMAKE_BUILD_TYPE=Release \
        -DQT_DIR=...... \
        -DQt6_DIR=...... \
        -DRabbitCommon_DIR= \
        [Другие опциональные параметры CMake]
    cmake --build . --config Release
  • Упаковка

    cmake --build . --config Release --target package

Использование библиотек C++

  • Библиотека преобразования координат:

    • В CMakeLists.txt проекта добавьте следующую строку

      find_package(TransformCoordinate)
      target_link_libraries(${PROJECT_NAME} PRIVATE TransformCoordinate)
    • Интерфейсы см. в: TransformCoordinate

  • Библиотека работы с GPX-файлами:

    • При сборке установите параметр CMake: WITH_GPXMODEL=ON

    • В CMakeLists.txt проекта добавьте следующую строку

      find_package(GpxModel)
      target_link_libraries(${PROJECT_NAME} PRIVATE GpxModel)
    • Интерфейсы см. в: GpxModel

Скрипты

  • build_debpackage.sh

    • Этот скрипт используется для создания DEB-пакетов на Linux. Перед использованием убедитесь, что установлены следующие пакеты

      sudo apt-get install debhelper fakeroot  + Использует системные версии Qt
      
      sudo apt-get install \
          qt6-tools-dev qt6-tools-dev-tools \
          qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins \
          libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n \
          qt6-scxml-dev qt6-multimedia-dev libqt6serialport6-dev \
          qt6-webengine-dev qt6-webengine-dev-tools
    • Подробнее см.: ubuntu.yml

    • Обратите внимание:

      • Если используете исходники RabbitCommon для сборки, то эта библиотека будет установлена в: /opt/TransformCoordinate
      • Если используете пакет RabbitCommon для сборки, то эта библиотека будет установлена в системные каталоги: /usr
  • deploy.sh: Этот скрипт используется для генерации новых номеров версий и меток. Используется только разработчиками.

Донат:

Если вам полезна данная программа или вы её любите, пожалуйста, сделайте донат, чтобы поддержать автора. Спасибо!

Донат

Комментарии ( 0 )

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

Введение

Данный проект осуществляет преобразование между системами координат WGS84, GCJ02 и координатами Baidu. Эта библиотека является лишь зеркалом библиотеки на GITHUB. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/kl222-TransformCoordinate.git
git@api.gitlife.ru:oschina-mirror/kl222-TransformCoordinate.git
oschina-mirror
kl222-TransformCoordinate
kl222-TransformCoordinate
master