美文网首页
Python计算容积率

Python计算容积率

作者: 任源_c4d5 | 来源:发表于2021-01-27 06:42 被阅读0次

    现在ArcGIS计算好面积,导出dbf表格,在Python进行数据处理和可视化。

    数据处理

    读取数据

    from dbfread import DBF  
    import pandas as pd   
     
    ### 读取ArcGIS里面导出的dbf表格 
    table = DBF("汇总表.dbf",encoding="utf8")  
    data = pd.DataFrame(table)  
    data.head()  
      
    

    数据清洗

    data.rename(columns={'地块面':'地块面积', 'layers':'楼层', '建筑总':'建筑总面积','基底面':'基底面积'}, inplace = True)  
    data = data.drop(labels=["OBJECTID","Shape_Leng","Shape_Area","楼层"],axis=1)  
    data = data[["地块名", "基底面积", "建筑总面积", "地块面积"]]  
    data.head()  
    

    数据透视

    pivot1 = pd.pivot_table(data,index=["地块名"],values=["基底面积","建筑总面积",],aggfunc=sum)  
    pivot2 = pd.pivot_table(data,index=["地块名"],values=["地块面积",],aggfunc=max)  
    pivot = pd.merge(pivot1, pivot2, on="地块名")  
    pivot  
    

    计算容积率和建筑密度

    pivot["建筑密度"] = pivot["基底面积"]/pivot["地块面积"]  
    pivot["容积率"] = pivot["建筑总面积"]/pivot["地块面积"]  
    pivot  
    

    结果

    结果.png

    数据可视化

    数据读取

    import geopandas as gpd
    import matplotlib.pyplot as plt
    regibns = gpd.GeoDataFrame.from_file('MyProject.gdb',layer='地块')
    regibns.plot()
    

    数据连接

    reg = pd.merge(regibns, pivot, left_on='地块名',right_on='地块名')
    reg
    

    分级设色图

    reg.plot(figsize=(12, 12), column='容积率', scheme='quantiles', legend=True, cmap='Reds', edgecolor='k',)
    
    开发强度图.png

    先手报道,还是要养成写文章的好习惯。

    相关文章

      网友评论

          本文标题:Python计算容积率

          本文链接:https://www.haomeiwen.com/subject/tcdozktx.html