Рисование радиуса на точке данных и подсчет других точек в этом радиусе - PullRequest
0 голосов
/ 23 мая 2018

Допустим, у меня есть два набора географических данных, содержащих только точки.Для каждой точки набора данных A я хотел бы нарисовать радиус в 1 километр, посчитать количество точек типа B внутри этого радиуса и прикрепить это значение к набору данных A.

Возможно ли это с помощью QGIS или Python?

Большое спасибо, E

1 Ответ

0 голосов
/ 23 мая 2018

Я думаю, что вы можете кодировать цикл для рисования точек крикла с помощью следующих библиотек:

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

В качестве возврата вы получаете массив сдве координаты.Затем вы можете сделать цикл по набору данных B и доказать, что его координаты находятся внутри всех точек в массивах

Я надеюсь, что это может помочь.

Для информации: https://stochasticcoder.com/2016/04/06/python-custom-distance-radius-with-basemap/

Привет!

...