在数据点上绘制半径并计算该半径中的其他点

时间:2018-05-23 12:28:21

标签: python geolocation geospatial geo qgis

假设我有两个仅包含点的地理数据集。对于数据集A的每个点,我想画一个半径1公里,计算该半径内B类型的点数,并将该值附加到数据集A。

这可能使用QGIS或Python吗?

非常感谢, ë

1 个答案:

答案 0 :(得分:0)

我认为您可以使用此库编写循环来绘制cricle点:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import math
from osgeo import ogr, osr
import matplotlib.cm as cmx
import matplotlib.colors as colors

然后你写道:

def createCircleAroundWithRadius(lat, lon, radiusMiles):
    ring = ogr.Geometry(ogr.wkbLinearRing)
    latArray = []
    lonArray = []

   for brng in range(0,360):
       lat2, lon2 = getLocation(lat,lon,brng,radiusMiles)
       latArray.append(lat2)
       lonArray.append(lon2)

  return lonArray,latArray

作为返回,您将收到包含两个coordenates的数组。然后你可以对数据集B做一个循环,并证明他的coordenates是数组中的所有点

我希望它可以提供帮助。

有关信息:https://stochasticcoder.com/2016/04/06/python-custom-distance-radius-with-basemap/

问候!