!pip install geopandas
!pip install rtree
!pip install pygeos
!wget https://www.esrij.com/cgi-bin/wp/wp-content/uploads/2012/10/japan_ver83.zip
url = "https://docs.google.com/spreadsheets/d/e/2PACX-1vTHEggpuuf5ratyC4d3PFpsYaw46tVopeFglSIUUb47TcEpCOQmjv4OapFDTfBrLqbwDByiJ3Nc4DZ9/pub?gid=0&single=true&output=csv"
import pandas as pd
import geopandas as gpd
japan = gpd.read_file("japan_ver83.zip!japan_ver83")
japan
nara = japan[japan["KEN"] == "奈良県"]
nara
nara.crs
nara.plot()
df = pd.read_csv(url, index_col=0)
df
pt_df = gpd.GeoDataFrame(df, geometry = gpd.points_from_xy(df.lng, df.lat), crs="EPSG:6668")
base = nara.plot(color="white", edgecolor="black")
pt_df.plot(ax=base, marker="o", color="red", markersize=5)
nara.to_crs(epsg=6674, inplace=True)
pt_df.to_crs(epsg=6674, inplace=True)
pt_df.crs
nara.crs
circles = pt_df.geometry.buffer(710)
circles
circles.plot(cmap="tab20b")
mp = circles.unary_union
mp
nara_map = nara["geometry"].difference(mp)
nara.area
nara_map.area
nara_map.plot()
df1 = pd.concat([nara["SIKUCHOSON"], nara.area.round(3), nara_map.area.round(3)], axis=1)
df1.to_csv("nara.tsv", header=False, sep="\t")