空間データの集約
メニューを表示するにはスワイプしてください
空間データの集約は、共通の属性に基づいて地理的特徴を要約・分析する手法。geopandas を使用すると、groupby() メソッドと集約関数を組み合わせて、「各都市の公園の総面積は?」「各地区の学校数は?」といった問いに答えることが可能。これらの技術は、複雑な地理空間データセットから有益な知見を抽出するために不可欠。
123456789101112131415161718192021222324252627import geopandas as gpd import pandas as pd # 1. Load the open-source global dataset from the public URL url = "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_110m_admin_0_countries.geojson" world = gpd.read_file(url) # 2. Clean up column names to uppercase world.columns = world.columns.str.upper() # 3. Tell GeoPandas to look at the uppercase 'GEOMETRY' column now world = world.set_geometry("GEOMETRY") # EPSG:8857 is the Equal Earth projection, great for global land area calculations world['CALC_AREA'] = world.to_crs(epsg=8857).geometry.area # 5. Perform the Aggregation (The 'groupby' step) continent_summary = world.groupby('CONTINENT').agg( Total_Population=('POP_EST', 'sum'), Average_Country_Size=('CALC_AREA', 'mean'), Total_Countries=('CONTINENT', 'count') ).reset_index() # 6. Interpret the results print("Spatial Aggregation Results by Continent ") pd.set_option('display.float_format', lambda x: '%.2f' % x) print(continent_summary.to_string(index=False))
集約処理の後は、空間的な文脈で結果を解釈。例えば、国を大陸ごとにグループ化し人口を合計することで、世界規模での人口分布を比較可能。各大陸ごとの国の平均面積を算出することで、どの大陸に大きな国や小さな国が多いかといった空間パターンを把握できる。集約は単なる件数や合計だけでなく、平均値、最小値、最大値、カスタム統計量なども計算可能で、分析目的に応じて柔軟に対応。これらの要約は地図上で可視化することで、パターンや傾向が直感的に把握しやすくなる。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 3
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 2. 章 3