赞
踩
pymap3d的GitHub地址:https://github.com/geospace-code/pymap3d
Python>=3.7。
Numpy和AstroPy是可选的;如果AstroPy不存在,则使用Vallado和Meeus的算法。
python3 -m pip install pymap3d
or for the latest development code:
- git clone https://github.com/geospace-code/pymap3d
-
- pip install -e pymap3d
One can verify Python functionality after installation by:
pytest pymap3d
Where consistent with the definition of the functions, all arguments may be arbitrarily shaped (scalar, N-D array).
- import pymap3d as pm
-
- x,y,z = pm.geodetic2ecef(lat,lon,alt)
-
- az,el,range = pm.geodetic2aer(lat, lon, alt, observer_lat, observer_lon, 0)
- import pymap3d as pm
-
- lat0, lon0, alt0 = 4029.25745, 11146.61129, 1165.2
- lat, lon, alt = 4028.25746, 11147.61125, 1165.1
- e, n, u = pm.geodetic2enu(lat, lon, alt, lat0, lon0, alt0)
- print(e, n, u)
Python argument unpacking can be used for compact function arguments with scalars or arbitrarily shaped N-D arrays:
- aer = (az,el,slantrange)
- obslla = (obs_lat,obs_lon,obs_alt)
-
- lla = pm.aer2geodetic(*aer,*obslla)
where tuple lla
is comprised of scalar or N-D arrays (lat,lon,alt)
.
Example scripts are in the examples directory.
Native Python float is typically 64 bit. Numpy can select real precision bits: 32, 64, 128, etc.
包含了大部分坐标系转换的函数
Popular mapping toolbox functions ported to Python include the following, where the source coordinate system (before the "2") is converted to the desired coordinate system:
- aer2ecef aer2enu aer2geodetic aer2ned
- ecef2aer ecef2enu ecef2enuv ecef2geodetic ecef2ned ecef2nedv
- ecef2eci eci2ecef eci2aer aer2eci geodetic2eci eci2geodetic
- enu2aer enu2ecef enu2geodetic
- geodetic2aer geodetic2ecef geodetic2enu geodetic2ned
- ned2aer ned2ecef ned2geodetic
- azel2radec radec2azel
- lookAtSpheroid
- track2 departure meanm
- rcurve rsphere
- geod2geoc geoc2geod
- geodetic2spherical spherical2geodetic
Vincenty functions "vincenty.vreckon" and "vincenty.vdist" are accessed like:
- import pymap3d.vincenty as pmv
-
- lat2, lon2 = pmv.vreckon(lat1, lon1, ground_range_m, azimuth_deg)
- dist_m, azimuth_deg = pmv.vdist(lat1, lon1, lat2, lon2)
Additional functions:
distance('rh', ...)
and azimuth('rh', ...)
Abbreviations:
astropy
与PyProj相比:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。