标签:java coordinates
我正在尝试在地理坐标和地磁坐标之间进行转换.我发现了以下Prolog脚本,但我不太了解它自己转换它.目标语言是Java,但任何可以理解的都很好(C,Python,VB,等等).
http://idlastro.gsfc.nasa.gov/ftp/pro/astro/geo2mag.pro
如果有人可以帮助转换这个脚本或解释它究竟在做什么(这些数组操作让我感到困惑),我真的很感激.
谢谢
解决方法:
根据应用,高度可能是此坐标转换中的重要变量,因为地磁坐标是地球偶极磁场的映射.
在Python中,您可以使用SpacePy(http://sourceforge.net/projects/spacepy/)轻松将地理坐标转换为地磁坐标(反之亦然).
由于您正在寻找转换为Java的源代码,因此SpacePy正在实施Fortran国际辐射带环境建模(IRBEM)库,其源代码可用(http://irbem.svn.sourceforge.net/viewvc/irbem/web/index.html)
在Python中,以防其他人正在寻找快速解决方案:
import spacepy.coordinates as coord
from spacepy.time import Ticktock
import numpy as np
def geotomag(alt,lat,lon):
#call with altitude in kilometers and lat/lon in degrees
Re=6371.0 #mean Earth radius in kilometers
#setup the geographic coordinate object with altitude in earth radii
cvals = coord.Coords([np.float((alt/Re+Re))/Re,np.float(lat),np.float(lon)], 'GEO', 'sph',['Re','deg','deg'])
#set time epoch for coordinates:
cvals.ticks=Ticktock(['2012-01-01T12:00:00'], 'ISO')
#return the magnetic coords in the same units as the geographic:
return cvals.convert('MAG','sph')
标签:java,coordinates 来源: https://codeday.me/bug/20190613/1235399.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。