antistatique / swisstopo
将GPS (WGS84) 坐标转换为瑞士 (LV03和LV95) 坐标(反之亦然)
Requires
- php: >=8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.21
- php-coveralls/php-coveralls: ^2.1
- php-mock/php-mock-phpunit: ^2.4
- phpmd/phpmd: ^2.8
- phpstan/phpstan-deprecation-rules: ^0.12.2
- phpunit/php-code-coverage: ^9.2.0
- phpunit/phpunit: ^9.0.0
- sebastian/phpcpd: ^6.0
- vimeo/psalm: ^4.29
This package is auto-updated.
Last update: 2024-08-27 11:41:29 UTC
README
一个简单的PHP库,用于将GPS (WGS84) 坐标转换为瑞士军事和民用坐标系统CH1903/LV03 (MN03) 或CH1995/LV95 (MN95),反之亦然。
在这个库中,使用了近似公式,以直接将椭球WGS84坐标转换为瑞士平面坐标。
这些公式主要用于导航目的,可能不适用于官方或大地测量应用!
入门指南
您可以使用Composer安装swisstopo
composer require antistatique/swisstopo
用法
将GPS (WGS84) 坐标转换为瑞士 (LV03和LV95) 坐标 - 反之亦然。
GPS (WGS84) 到 CH1903/LV03 (MN03)
$swiss_converter = new Antistatique\Swisstopo\SwisstopoConverter(); $coordinates = $swiss_converter->fromWGSToMN03(46.462057617639, 6.8486736590762); // Coordinates -> ['x' => 145807.4339423232, 'y' => 554679.5530031546].
CH1903/LV03 (MN03) 到 GPS (WGS84)
$swiss_converter = new Antistatique\Swisstopo\SwisstopoConverter(); $coordinates = $swiss_converter->fromMN03ToWGS(554680, 145807); // Coordinates -> ['lat' => 46.462057617639346, 'long' => 6.848673659076181].
GPS (WGS84) 到 CH1995/LV95 (MN95)
$swiss_converter = new Antistatique\Swisstopo\SwisstopoConverter(); $coordinates = $swiss_converter->fromWGSToMN95(46.46312579498212, 6.8534397262208095); // Coordinates -> ['east' => 2555046.5560538797, 'north' => 1145923.4267763223].
CH1995/LV95 (MN95) 到 GPS (WGS84)
$swiss_converter = new Antistatique\Swisstopo\SwisstopoConverter(); $coordinates = $swiss_converter->fromMN95ToWGS(2555047, 1145923); // Coordinates -> ['lat' => 46.46312579498212,'long' => 6.8534397262208095]
替代方案
开源仓库
-
ValentinMinder/Swisstopo-WGS84-LV03 程序性计算机脚本,用于将GPS WGS-84坐标转换为瑞士军事和民用坐标系统(LV-03/CH-1903)。 支持多种语言的转换脚本:C,GO,Java,JavaScript,PHP,Python,R,SQL。
-
idris-maps/swiss-projection TypeScript库,用于将LV03(EPSG:21781)和LV95(EPSG:2056)转换为WGS84(EPSG:4326) 支持LV03和LV95的TypeScript库。
-
hansroland/swissgeo Haskell库,用于将GPS (WGS84) 坐标转换为瑞士军事和民用坐标系统CH1903/LV03 (MN03) 或CH1995/LV95 (MN95)。 支持LV03和LV95的Haskell库。
REST服务
- REST网络地理信息服务(REFRAME Web API). swisstopo提供不同的REST(“表征状态传输”)服务,允许您将坐标转换嵌入到自己的软件产品或网络服务中。 支持WGS84-LV95-LV03/Bessel-LHN95-LN02的参考系变化REST地理服务。
在线文档 & 转换器
-
NAVREF 允许您将瑞士投影坐标转换为全球WGS84坐标(GPS)反之亦然。 支持LV03和LV95。
-
REFRAME 允许您在平面测量和/或高程测量中进行坐标转换。 支持的文件格式:带分隔符的文本,LTOP,DXF,ESRI Shape,INTERLIS 1,Adalin OneOne,Topobase .K
软件 & DLL
-
GIS工具和应用程序(FME). swisstopo开发了FME软件中位置和/或高度参考系转换的转换器。可以使用此转换器轻松处理所有可由FME软件读取的文件(许多GIS,CAD和文本格式)。CHENyx06数据集(LV03->LV95或LV03->ETRS89)也作为NTv2常规网格提供。
-
开发者资源(DLL / JAR). Swisstopo为软件开发人员提供共享库(DLL或JAR),允许转换坐标和高度。
这些转换可以轻松集成到现有的应用程序中(.NET、C++、Visual Basic、Java)、网站(Java、MONO、Silverlight)或宏(例如VBA)。 -
GeoSuite(REFRAME/TRANSINT) 是一套计算、文件编辑和数据可视化的工具集合,集成在一个现代且高效的应用程序中。它也针对最新的计算机和操作系统进行了优化。
资源
-
瑞士投影坐标与-WGS84之间转换的近似公式 - (PDF,4页,72 KB,英文)。
-
瑞士正形圆柱投影的计算公式和常量以及坐标系统之间的转换 - (PDF,20页,428 KB,英文)。