Я пытаюсь отобразить список географических координат широты / долготы в окрестностях Нью-Йорка.У меня есть файл .geojson с полигонами, а также мой набор данных .csv, содержащий широту / долготу в виде двух отдельных столбцов.
Как проверить, находится ли точка (.csv) в заданных полигонах (.geojson)), а затем добавить функцию (участок) в кадр данных pandas?
Ссылка на файл geojson: https://github.com/veltman/wherewolf/blob/master/examples/node/police-precincts.geojson
импорт json импорт csv из shapely.geometry import shape, Point
uber_df = pd.read_csv ('uber_preprocessed.csv')
с открытым ('Police_precincts.geojson') как f: data = json.load (f)
# loop thru coordinates in the uber csv file
for lat in uber_df['Lat']:
pointLat = float(lat)
for lon in uber_df['Lon']:
pointLon = float(lon)
point = Point(pointLon, pointLat)
# loop thru features in geoJSON file
for feature in data['features']:
polygon = shape(feature["geometry"])
if polygon.contains(point):
# grab the data
newx = feature["properties"]["Precinct"]
# append the data
precincts = []
precincts.append(newx)
# write to file
with open('newfile.csv', 'wb') as newFile:
wr = csv.writer(newFile, quoting=csv.QUOTE_ALL)
newFile.writerow(precincts)
Я знаю, что последний блок строк записывает данные в файл .csv, но я бы хотел, чтобы каждая функция отображалась на каждую запись в моем наборе данных.Как мне это сделать?