{"id":16156394,"url":"https://github.com/kanglin/transformcoordinate","last_synced_at":"2026-06-29T10:00:48.450Z","repository":{"id":84126466,"uuid":"143951909","full_name":"KangLin/TransformCoordinate","owner":"KangLin","description":":cn: WGS-84世界标准坐标、GCJ-02中国国测局(戏称火星坐标)、BD-09百度坐标系转换","archived":false,"fork":false,"pushed_at":"2026-06-26T22:36:51.000Z","size":1565,"stargazers_count":27,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-06-27T00:32:32.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KangLin.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":".github/FUNDING.yml","license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"Authors.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png"]}},"created_at":"2018-08-08T02:42:07.000Z","updated_at":"2026-06-26T22:36:55.000Z","dependencies_parsed_at":"2024-03-25T09:27:41.985Z","dependency_job_id":"73b5acf8-2eae-4821-bbbe-b6b1ef6f6529","html_url":"https://github.com/KangLin/TransformCoordinate","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/KangLin/TransformCoordinate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FTransformCoordinate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FTransformCoordinate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FTransformCoordinate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FTransformCoordinate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KangLin","download_url":"https://codeload.github.com/KangLin/TransformCoordinate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KangLin%2FTransformCoordinate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34921807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T01:44:49.107Z","updated_at":"2026-06-29T10:00:48.444Z","avatar_url":"https://github.com/KangLin.png","language":"C++","funding_links":["https://github.com/KangLin/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute.png","https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png"],"categories":[],"sub_categories":[],"readme":"# 坐标系统转换\n\n作者：康 林 \u003ckl222@126.com\u003e\n\n[![Windows build status](https://ci.appveyor.com/api/projects/status/yxkcu6b6o2av6wmk?svg=true)](https://ci.appveyor.com/project/KangLin/transformcoordinate)\n[![build](https://github.com/KangLin/TransformCoordinate/actions/workflows/build.yml/badge.svg)](https://github.com/KangLin/TransformCoordinate/actions/workflows/build.yml)\n[![GitHub stars](https://img.shields.io/github/stars/KangLin/TransformCoordinate?label=点赞量)](https://star-history.com/#KangLin/TransformCoordinate\u0026Date)\n[![Gitee stars](https://gitee.com/kl222/TransformCoordinate/badge/star.svg?theme=dark)](https://gitee.com/kl222/TransformCoordinate/stargazers)\n\n[![Github 发行版本](https://img.shields.io/github/release-pre/KangLin/TransformCoordinate?label=Github%20发行版本)](https://github.com/KangLin/TransformCoordinate/releases)\n[![Github 最后发行版本](https://img.shields.io/github/release/KangLin/TransformCoordinate?label=Github%20最后发行版本)](https://github.com/KangLin/TransformCoordinate/releases)\n\n[![Github 所有发行版本下载量](https://img.shields.io/github/downloads/KangLin/TransformCoordinate/total?label=Github%20下载总量)](http://gra.caldis.me/?user=KangLin\u0026repo=KangLin/TransformCoordinate)\n[![从 sourceforge 下载量](https://img.shields.io/sourceforge/dt/TransformCoordinate.svg?label=Sourceforge%20下载总量)](https://sourceforge.net/projects/TransformCoordinate/files/latest/download)\n\n[![Download from sourceforge](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/TransformCoordinate/files/latest/download)\n\n+ 项目地址：https://github.com/KangLin/TransformCoordinate\n+ 镜像地址：\n  - https://gitlab.com/kl222/TransformCoordinate\n  - https://sourceforge.net/projects/transformcoordinate/\n  - https://gitee.com/kl222/TransformCoordinate\n\n### 介绍\n本项目对WGS84、GCJ02、百度坐标系之间进行转换。\n\n- WGS84：\n为一种大地坐标系，也是目前广泛使用的全球卫星定位系统（GPS）使用的坐标系。\n- GCJ02：\n戏称火星坐标系，是由中国国家测绘局制定的地理坐标系统，是由WGS84加密后得到的坐标系。\n- BD09：\n为百度坐标系，在GCJ02坐标系基础上再次加密。\n其中bd09ll表示百度经纬度坐标，bd09mc表示百度墨卡托米制坐标。\n\n本项目还包括一个GPX文件操作模块。\n\n#### 本项目包含：\n\n- C++ 库：\n  - 坐标转换库：[TransformCoordinate](Src/TransformCoordinate.h)\n  - GPX文件操作库：[GpxModel](Src/GpxModel/gpx_model.h)\n- 坐标转换程序：TransformCoordinateApp\n\n#### 支持平台\n\n- [x] Windows 7 SP2 及以后\n- [x] Linux\n- [x] Android\n- [x] macOS\n- [ ] IPHONE\n\n**注意:** 本人没有 macOS 和 IPHONE 设备。请有设备的朋友自行测试，并进行反馈。\n也可以向本人[捐赠资金](#捐赠)或相关设备，请联系：\u003ckl222@126.com\u003e\n\n详见：[Qt5 支持平台](https://doc.qt.io/qt-5/supported-platforms.html)、[Qt6 支持平台](https://doc.qt.io/qt-6/supported-platforms.html)。\n\n### [下载安装包](https://github.com/KangLin/TransformCoordinate/releases/latest)\n\n### 编译\n#### 下载源码\n\n    git clone https://github.com/KangLin/TransformCoordinate.git\n\n#### 依赖\n+ 编译工具\n  + [Qt](http://qt.io/)\n  + 编译器\n    - For linux or android\n        + GNU Make 工具\n        + GCC 或者 Clang 编译器\n    - For windows\n        + [MSVC](http://msdn.microsoft.com/zh-cn/vstudio)\n        + MinGW\n  + [CMake](http://www.cmake.org/)\n+ 依赖库\n  - [必选] Rabbit 公共库(RabbitCommon):\n    - 源码： `https://github.com/KangLin/RabbitCommon`\n    - 开发包： `https://github.com/KangLin/RabbitCommon/releases`\n  \n#### CMake 配置参数\n  - [可选] QT_ROOT: qt 安装位置。应用需要 qt\n    - [可选] Qt5_ROOT: qt5 安装位置\n    - [可选] Qt6_ROOT: qt6 安装位置\n  - [可选] RabbitCommon_ROOT: RabbitCommon 源码位置\n\n#### 各平台编译\n##### linux 平台编译说明\n\n- 编译\n\n      git clone https://github.com/KangLin/RabbitCommon.git\n      git clone https://github.com/KangLin/TransformCoordinate.git\n      cd TransformCoordinate\n      mkdir build\n      cd build\n      cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/install \\\n          -DCMAKE_BUILD_TYPE=Release \\\n          -DQT_ROOT=...... \\\n          -DQt6_ROOT=...... \\\n          -DRabbitCommon_ROOT= \\\n          [其它可选 CMake 配置参数]\n      cmake --build . --config Release\n\n- 安装\n\n      cmake --install . --config Release --component Development # 只安装开发库\n      cmake --install . --config Release --component Runtime # 只安装运行库\n      cmake --install . --config Release #包含开发库和运行库\n\n- 打包\n\n      cmake --build . --config Release --target package\n\n- 运行例子\n  + [可选] 把生成库的目录加入到变量 LD_LIBRARY_PATH 中\n\n        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib\n\n  + 执行 bin 目录下的程序\n\n        cd TransformCoordinate\n        cd build\n        cd bin\n        ./TransformCoordinateApp\n\n##### windows 平台编译说明\n- 使用 cmake-gui.exe 工具编译。打开 cmake-gui.exe 配置\n- 命令行编译\n  + 把 cmake 命令所在目录加入到环境变量 PATH 中\n  + 从开始菜单打开 “VS2015开发人员命令提示”，进入命令行\n\n    - 编译\n\n          cd TransformCoordinate\n          mkdir build\n          cd build\n          cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/install ^\n              -DCMAKE_BUILD_TYPE=Release ^\n              -DQT_ROOT=...... ^\n              -DQt6_ROOT=...... ^\n              -DRabbitCommon_ROOT= ^\n              [其它可选 CMake 配置参数]\n          cmake --build . --config Release\n\n    - 安装\n\n          cmake --install . --config Release --component Development # 只安装开发库\n          cmake --install . --config Release --component Runtime # 只安装运行库\n          cmake --install . --config Release #包含开发库和运行库\n\n    - 打包\n\n          cmake --build . --config Release --target package\n\n    - 运行例子\n      + 执行 bin 目录下的程序\n        - TransformCoordinateApp.exe\n\n##### Android 平台编译说明\n\n+ 安装 ndk 编译工具\n  - 从 https://developer.android.com/ndk/downloads 下载 ndk，并安装到：/home/android-ndk\n  - 设置环境变量：\n\n        export ANDROID_NDK=/home/android-ndk\n        \n+ 安装 sdk 工具\n  - 从 https://developer.android.google.cn/studio/releases 下载 sdk tools, 并安装到 /home/android-sdk\n  - 设置环境变量：\n  \n        export ANDROID_SDK=/home/android-sdk\n\n+ 编译\n  - 主机是 linux\n\n        cd TransformCoordinate\n        mkdir build\n        cd build\n        cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/android-build \\\n                 -DCMAKE_BUILD_TYPE=Release \\\n                 -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake \\\n                 -DANDROID_ABI=\"armeabi-v7a with NEON\" \\\n                 -DANDROID_PLATFORM=android-18 \\\n                 -DQT_ROOT=...... \\\n                 -DQt6_ROOT=...... \\\n                 -DRabbitCommon_ROOT= \\\n                 [其它可选 CMake 配置参数]\n        cmake --build . --config Release --target package\n\n  - 主机是 windows\n\n        cd TransformCoordinate\n        mkdir build\n        cd build\n        cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/android-build ^\n                 -G\"Unix Makefiles\" -DCMAKE_BUILD_TYPE=Release ^\n                 -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake ^\n                 -DCMAKE_MAKE_PROGRAM=${ANDROID_NDK}/prebuilt/windows-x86_64/bin/make.exe ^\n                 -DANDROID_ABI=arm64-v8a ^\n                 -DANDROID_ARM_NEON=ON ^\n                 -DQT_ROOT=...... ^\n                 -DQt6_ROOT=...... ^\n                 -DRabbitCommon_ROOT= ^\n                 [其它可选 CMake 配置参数]\n        cmake --build . --config Release --target package\n\n  - CMake for android 参数说明：https://developer.android.google.cn/ndk/guides/cmake\n    + ANDROID_ABI: 可取下列值：\n      目标 ABI。如果未指定目标 ABI，则 CMake 默认使用 armeabi-v7a。  \n      有效的目标名称为：\n      - armeabi：带软件浮点运算并基于 ARMv5TE 的 CPU。\n      - armeabi-v7a：带硬件 FPU 指令 (VFPv3_D16) 并基于 ARMv7 的设备。\n      - armeabi-v7a with NEON：与 armeabi-v7a 相同，但启用 NEON 浮点指令。这相当于设置 -DANDROID_ABI=armeabi-v7a 和 -DANDROID_ARM_NEON=ON。\n      - arm64-v8a：ARMv8 AArch64 指令集。\n      - x86：IA-32 指令集。\n      - x86_64 - 用于 x86-64 架构的指令集。\n    + ANDROID_NDK \\\u003cpath\\\u003e 主机上安装的 NDK 根目录的绝对路径\n    + ANDROID_PLATFORM: 如需平台名称和对应 Android 系统映像的完整列表，请参阅 [Android NDK 原生 API](https://developer.android.google.cn/ndk/guides/stable_apis.html)\n    + ANDROID_ARM_MODE\n    + ANDROID_ARM_NEON\n    + ANDROID_STL: 指定 CMake 应使用的 STL。默认情况下，CMake 使用 c++_static。 \n      - c++_shared: 使用 libc++ 动态库\n      - c++_static: 使用 libc++ 静态库\n      - none: 没有 C++ 库支持\n      - system: 用系统的 STL\n  - 安装 apk 到设备\n\n       adb install android-build-debug.apk \n\n##### MacOS 平台编译说明\n- 编译\n\n      cd TransformCoordinate\n      mkdir build\n      cd build\n      cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/install \\\n          -DCMAKE_BUILD_TYPE=Release \\\n          -DQT_ROOT=...... \\\n          -DQt6_ROOT=...... \\\n          -DRabbitCommon_ROOT= \\\n          [其它可选 CMake 配置参数]\n      cmake --build . --config Release\n\n- 打包\n\n      cmake --build . --config Release --target package\n\n### 使用 C++ 库\n\n- 坐标转换库:\n  - 在程序 CMakeLists.txt 中加入下面行\n\n        find_package(TransformCoordinate)\n        target_link_libraries(${PROJECT_NAME} PRIVATE TransformCoordinate)\n\n  - 接口详见： [TransformCoordinate](Src/TransformCoordinate.h)\n   \n- GPX文件操作库: \n  - 编译时，需要设置 CMake 参数: WITH_GPXMODEL=ON\n  - 在程序 CMakeLists.txt 中加入下面行\n  \n        find_package(GpxModel)\n        target_link_libraries(${PROJECT_NAME} PRIVATE GpxModel)\n\n  - 接口详见: [GpxModel](Src/GpxModel/gpx_model.h)\n\n### 脚本\n\n- build_debpackage.sh\n  + 此脚本是 linux 下生成 deb 包的。使用前，请确保安装了下面程序\n\n        sudo apt-get install debhelper fakeroot\n\n  + 用系统自带的 QT\n\n        sudo apt-get install \\\n            qt6-tools-dev qt6-tools-dev-tools \\\n            qt6-base-dev qt6-base-dev-tools qt6-qpa-plugins \\\n            libqt6svg6-dev qt6-l10n-tools qt6-translations-l10n \\\n            qt6-scxml-dev\n\n  + 详见: [ubuntu.yml](.github/workflows/ubuntu.yml)\n  + 注意:\n    - 如果使用 RabbitCommon 源码编译，则本库安装的库位于： /opt/TransformCoordinate\n    - 如果使用 RabbitCommon 安装包编译，则本库安装于系统目录: /usr\n\n- deploy.sh: 此脚本用于产生新的发行版本号和标签。仅程序发布者使用。\n\n### 捐赠:\n\n本软件如果对你有用，或者你喜欢它，请你捐赠，支持作者。谢谢！\n\n[![捐赠](https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute_zh_CN.png \"捐赠\")](https://gitee.com/kl222/RabbitCommon/raw/master/Src/Resource/image/Contribute_zh_CN.png \"捐赠\")\n\n如果不能显示，请打开：\n- https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png\n- https://sourceforge.net/p/rabbitcommon/code/ci/master/tree/Src/Resource/image/Contribute.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanglin%2Ftransformcoordinate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanglin%2Ftransformcoordinate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanglin%2Ftransformcoordinate/lists"}