ฉันมีรายการของ dataframes โครงสร้างเดียวกันทั้งหมดและทั้งหมดเป็นรูปหลายเหลี่ยม
ฉันจะเพิ่มพวกเขาทั้งหมดเข้าด้วยกันโดยใช้ geopandas ได้อย่างไร
ฉันมีรายการของ dataframes โครงสร้างเดียวกันทั้งหมดและทั้งหมดเป็นรูปหลายเหลี่ยม
ฉันจะเพิ่มพวกเขาทั้งหมดเข้าด้วยกันโดยใช้ geopandas ได้อย่างไร
คำตอบ:
ดูเหมือนว่านี่เป็นวิธีที่ถูกต้องในการทำเช่นนั้นในตอนนี้:
rdf = gpd.GeoDataFrame( pd.concat( dataframesList, ignore_index=True) )
ฉันเพิ่งทดลองสิ่งนี้ - บางทีใน GeoPandas 0.2.1 และ Pandas 0.20.3 มันค่อนข้างกระชับกว่านี้:
gdf = pd.concat([gdf1, gdf2])
gdf ถูกสร้างโดยอัตโนมัติเป็น GeoDataFrame แน่นอนหากมีโอกาสที่จะมีดัชนีที่ขัดแย้งกันคุณจะต้องคงพารามิเตอร์ 'ละเว้น_index = True' ไว้
gdf1.to_file(xxx, driver='ESRI Shapefile')
คุณจะได้รับข้อผิดพลาดซึ่งระบุว่า'DataFrame' object has no attribute 'to_file'
rdf = gpd.GeoDataFrame(pd.concat(dataframesList, ignore_index=True), crs=dataframesList[0].crs)
คำตอบที่ดีซึ่งเป็นหนึ่งในการปรับปรุง: ตอนนี้ dataframe ใหม่จะมี CRS เหมือนกับหนึ่งใน dataframes เริ่มต้น เนื่องจากการใช้pandas.concat
ข้อมูลเมตาทางภูมิศาสตร์ใด ๆ เช่น CRS จะไม่ได้รับการเก็บรักษาตามค่าเริ่มต้น