Jika Anda memiliki pengalaman dengan python, Anda bisa menggunakan pustaka Shapely dan membuat Polygon dari titik-titik di dua baris. Anda harus memberi tahu python apa titik awal dan akhir dari kedua baris tersebut.
from shapely.geometry import Point, Polygon, LineString
import geopandas as gpd
import pandas as pd
line1 = [(1,1),(2,1.2),(3,1)]
line2 = [(1,2),(2,2.2),(3,2)]
# you need to reverse the order of one line to make it a polygon
line2reverse = list(reversed(line2))
polgonList2 = line1 + line2reverse
Polygon(polgonList2)
Bahkan lebih baik: Anda juga dapat menggunakan geopanda untuk melakukan ini. geopanda memungkinkan Anda untuk dengan mudah menyimpan ke berbagai format termasuk shapefile
d = {'identifier' : [1, 2],
'name' : ["Netherlands", "Germany"],
"line1": [[(1,1),(2,1.2),(3,1)], [(1,1),(2,1.2),(3,1)]],
"line2": [[(1.1,2.1),(2.1,2.3),(3.1,2.2)],[(1,2),(2,2.2),(3,2)]]
}
df = pd.DataFrame(d)
def makePolygon(row):
line2reverse = list(reversed(row["line2"]))
return Polygon(line1+line2reverse)
geometries = []
for index, row in df.iterrows():
geometries.append(makePolygon(row))
crs = {'init': 'epsg:4326'}
gdf = gpd.GeoDataFrame(df, crs=crs, geometry=geometries)
gdf.to_file('MyGeometries.shp', driver='ESRI Shapefile')
Anda dapat membaca geometri garis menggunakan fungsi geopandas gpd.read_file ().
Urutan simpul poligon pada GIS umum: searah jarum jam atau berlawanan arah jarum jam
https://nbviewer.jupyter.org/gist/rutgerhofste/b01c17aa6851ea577f10c21a4c3717bc