未提供项目说明
swissREFRAME的Python项目详细描述
官方swisstopo的reframejar库的Python接口
关于REFRAME
有关DLL/源的信息:https://shop.swisstopo.admin.ch/de/products/geo_software/DLL_info
用于平面和/或高度转换的GeoSuite计算模块,用于瑞士国家测量和地籍测量。REFRAME库允许坐标和高度的所有转换,这些在瑞士相关,可在REFRAME for GeoSuite软件中获得,UTM投影除外:
- GPSREF(ETRF93<;->;95级)
- FINELTRA(95级至03级)
- CHGEO2004(大地水准面模型)
- HTRANS(LHN95<;->;LN02)
REFRAME库可以分发给第三方并集成到商业产品中,但必须免费交付给客户。在
ReframeLibrary/Documentation/developper_manual.pdf包含有关REFRAME库的所有技术信息。在
ReframeLibrary/Documentation/refsys_d.pdf包含有关转换和投影的信息和公式
安装
只需安装软件包:
pip install swissreframe
要求
- Javax64/x86(swissREFRAME启动一个JVM来执行ReframeJAR库,用8.0_231测试)
- Python(已测试的7.3.3)
- JPype1(用0.7.0测试)
示例/用法
^{pr2}$这应该行得通。但也可以指定reframeLib.jar的路径:
r=initialize_reframe(path_reframeLib_jar=r'D:\jar\reframeLib.jar')
以及jvm.dll的路径:
r=initialize_reframe(path_jvm_dll=r'C:\Program Files\Java\jre1.8.0_231\bin\server\jvm.dll')
现在可以使用REFRAME.compute_reframe和REFRAME.compute_gpsref
result1=r.compute_reframe((600000.1,200000.1,200),'lv03_military','lv95','ln02','lhn95')print(result1)result2=r.compute_gpsref((2600000.1,1200000.1,200),'lv95_to_etrf93_geographic')print(result2)
输出:
(2600000.182999904,1200000.1660008044,199.92481259693554)(7.438633764230579,46.95108371391055,249.62218793481588)
也可以使用类坐标及其方法:
coord=Coordinate(type='plane',planimetric_frame='lv03_military',altimetric_frame='ln02',coordinates=(600000.1,200000.1,200.1))print(coord.ETRF95_geocentric)
输出:
(4325124.392962725,564701.4910050733,4638236.373010437)
文件
很快就要来了
- 项目
标签: