polygon python 点是否在多边形内_检查地理点是否在Python的多边形内部或外部

本文介绍了如何使用Python检查一个点是否位于多边形内部。作者给出了一个用numpy定义的多边形顶点,并提供了一个点的坐标。他们试图找到一个库或函数来实现这一目标,目前的代码片段使用了cartopy进行可视化,但需要一个能判断点是否在多边形内的功能。示例代码中,点(-6, 5)位于多边形外部。" 109460847,9828501,Linux PXE批量安装指南:理论与实战,"['Linux系统', '服务器管理', '网络服务', '自动化部署', 'PXE安装']
摘要由CSDN通过智能技术生成

我正在使用

python,我已经定义了地图上多边形的纬度和经度(以度为单位).

我的目标是检查坐标x,y的通用点P是否落在这样的多边形内.因此,我希望有一个允许我检查这种情况的函数,如果该点在多边形内部或外部,则返回True或False.

f916a943a19d20573aa9bb17d67027a9.png

在此示例中,该点在外部,因此结果将为False

问题:是否有允许达到目标的库/包?如果是,你推荐哪一个?你能给出一个如何使用它的小例子吗?

这是我到目前为止编写的代码:

import numpy as np

# Define vertices of polygon (lat/lon)

v0 = [7.5, -2.5]

v1 = [2, 3.5]

v2 = [-2, 4]

v3 = [-5.5, -4]

v4 = [0, -10]

lats_vect = np.array([v0[0],v1[0],v2[0],v3[0],v4[0]])

lons_vect = np.array([v0[1],v1[1],v2[1],v3[1],v4[1]])

# Point of interest P

x, y = -6, 5 # x = Lat, y = Lon

## START MODIFYING FROM HERE; DO NOT MODIFY POLYGON VERTICES AND DATA TYPE

# Check if point of interest falls within polygon boundaries

# If yes, return True

# If no, return falls

为了绘制多边形和兴趣点,我使用了cartopy,并编写了以下代码行:

import cartopy.crs as ccrs

import matplotlib.pyplot as plt

ax = plt.axes(projection=ccrs.PlateCarree())

ax.stock_img()

# Append first vertex to end of vector to close polygon when plotting

lats_vect = np.append(lats_vect, lats_vect[0])

lons_vect = np.append(lons_vect, lons_vect[0])

plt.plot([lons_vect[0:-1], lons_vect[1:]], [lats_vect[0:-1], lats_vect[1:]],

color='black', linewidth=1,

transform=ccrs.Geodetic(),

)

plt.plot(y, x,

'*', # marker shape

color='blue', # marker colour

markersize=8 # marker size

)

plt.show()

注意:

>点数由Great Circles相互连接!

>我已经在实习中进行了研究,最后我找到了一些类似的问题like this one,但我没有成功,因为他们都使用我没有的.shp文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值