我有一些来自国际空间站的坐标,我想知道当坐标被记录下来时,国际空间站是在陆地上还是海洋上,我应该离线进行,但我不知道该用什么方法。 作为python标准库的一部分,我仅限于使用以下库:
numpy
scipy
tensorflow
pandas
opencv-python
opencv-contrib-python
evdev
matplotlib
logzero
pyephem
scikit-image
scikit-learn
reverse-geocoder
不过,如果你知道如何使用其他库来实现这一点,那就更好了。在
通过这段代码,我得到坐标并将其写入文件:
^{pr2}$你们知道吗? 提前谢谢。在
最后,我只能使用这些库来解决我的问题。 我用这个网站geoplaner得到了海洋形状的大致轮廓(它真的很粗糙,因为我是手工制作的,但它对我的目的来说很好,我认为网上应该有一些更精确的多边形,但我不知道如何使用它们)。在
我对每个海洋都这样做了,得到了这个(注意,我使用的坐标并没有完全覆盖海洋,例如,我避开了南大洋):
现在,太平洋更加复杂,因为它延伸到地图的两边,你可以有两个连续的点,经度分别是-179和179,这导致这个多边形在xy平面上的表现很糟糕。我把它一分为二,所以我得到了:
^{pr2}$据我所知,使用matplotlib,您可以使用
path
从顶点(坐标列表)创建多边形,然后您可以使用contains_point()
函数来检查点是否在其中一个多边形中(因此它在“海洋”中)还是不在(“land”中):lon和lat变量,我用程序计算出的ISS变量。在
mpl_toolkits.basemap
可能会有所帮助。在文件:here及以下相关方法:
注意:您可能需要小心使用Basemap对象的投影。在
相关问题 更多 >
编程相关推荐