800 を超える地区のデータフレームから .kml ファイルを作成する必要があります。これは私がこれまでに行ったことです:
1) PANDAS を使用して .csv ファイル (図 1) を読み取る
2) 最初の 3 列 (経度、緯度、高度) のみを選択して、新しいデータフレームを作成します。
3) データフレームからタプルのリストを作成する
4) .kml ファイルを作成し、スタイリング (色) を行います。
このすべての手順は、地区が 1 つある場合にのみうまく機能します。今、私は同じことをする必要がありますが、800 を超える地区を対象としています。図 2 では、2 つの地区 (ACTONO と AILSACRAIGO) の例が示されています。
データフレームをタプルのリストに変換するとき、「python」に多くの地区があることをどのように認識させることができますか?
これらの行は改善する必要があると思います:
a) ここで、タプルのリストが必要になります (地区ごとに 1 つ)。
#Converting the dataframe to a list of tuples
tuples = [tuple(x) for x in df_modify.values]
b) そしてここで、「outboundaryies」はタプルごとに変更する必要があります
pol = kml.newpolygon(name= 'ACTONO', description= 'Acton County',
outerboundaryis=tuples, extrude=extrude, altitudemode=altitudemode)
これはすべてのコードです:
1 地区の .CSV のコード
import pandas
import simplekml
kml = simplekml.Kml()
#Using PANDAS to read .csv and chosing the first 3 columns
df = pandas.read_csv('C:\\Users\\disa_ONTshp.csv')
df_modify=df.iloc[:, [0,1,2]]
#Converting the dataframe to a list of tuples
tuples = [tuple(x) for x in df_modify.values]
#Creating a .kml file
extrude=1
altitudemode = simplekml.AltitudeMode.relativetoground
pol = kml.newpolygon(name= 'ACTONO', description= 'Acton County',
outerboundaryis=tuples, extrude=extrude, altitudemode=altitudemode)
#Styling colors
pol.style.linestyle.color = simplekml.Color.green
pol.style.linestyle.width = 5
pol.style.polystyle.color = simplekml.Color.changealphaint(100,
simplekml.Color.green)
#Saving
kml.save("Polygon Styling.kml")
図 1 (1 区)
図 2 (2 つの地区)