Создать и экспортировать шейп-файл из выпуклой оболочки (Python)? - PullRequest
0 голосов
/ 04 августа 2020

Мне нужен шейп-файл выпуклой оболочки, который я создал, чтобы я мог экспортировать его и использовать в ArcGIS (и другом программном обеспечении ГИС). Итак, сначала я импортировал свой шейп-файл (используя geo pandas): GeoDataFrame, содержащий координаты точек. Затем я извлек координаты x и y (мне нужно было сделать это, чтобы они были как DataFrame, а не как Series в GeoDataFrame). С этими координатами я затем создал выпуклый корпус (используя: https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html). Тип данных моей выпуклой оболочки - «space.qhull.ConvexHull». Я также сделал график моего выпуклого корпуса, и он выглядит нормально. Но потом я захотел экспортировать эту выпуклую оболочку как шейп-файл, чтобы потом использовать этот многоугольник в другом программном обеспечении ГИС. Я много искал, но не могу найти способ сделать это для Python. Может ли кто-нибудь помочь мне, какие шаги я должен предпринять сейчас? Большое спасибо!

Код того, что у меня есть:

import geopandas as gpd

#import data
data_rwanda = gpd.read_file("C:\\Users\\inede\\Personal\\Thesis\\Data\\Database_Rwanda_Points\\rwanda_database_points.shp")

#plot data
data_rwanda.plot()

#make dataframe from the coordinates (instead of series)
data_rwanda['lon'] = data_rwanda['geometry'].x
data_rwanda['lat'] = data_rwanda['geometry'].y

#extract the dataframe with coordinates
coordinates = data_rwanda[['lon','lat']]

#create convex hull
from scipy.spatial import ConvexHull, convex_hull_plot_2d
convexhull = ConvexHull(coordinates)

#plot convex hull
convex_hull_plot_2d(convexhull)
...