京都の町境界を描き「両側町」を眺めてみる('24.05.26)#
京都四条烏丸あたり、小さな町がたくさんある#
京都の四条烏丸あたりを歩いていると、少し先に進むと、電柱に表示された町名がすぐに変わっていく。 小さな町がたくさんあって、ほんのちょっと歩くだけで、違う町に入る。
そこで、標準地域コード 一覧 | 国勢調査町丁・字等別境界データセット の京都府から、京都市の町境界データ(TopoJSON)をダウンロードして、地図上に描いてみた。 一目瞭然、中京区を中心とした辺りは、町と町の境界が見えないくらい、小さな町が多くあることがわかる。
Show code cell source
# foliumパッケージを使う
import folium
# TopoJsonデータ
topojson_files={
'上京区':'r2ka26102.topojson',
'左京区':'r2ka26103.topojson',
'右京区':'r2ka26108.topojson',
'東山区':'r2ka26105.topojson',
'西京区':'r2ka26111.topojson',
'中京区':'r2ka26104.topojson',
'下京区':'r2ka26106.topojson',
'伏見区':'r2ka26109.topojson',
'山科区':'r2ka26110.topojson',
'南区':'r2ka26107.topojson',
'北区':'r2ka26101.topojson'}
# 中心とする緯度経度
kyoto = [35.003732868274874, 135.756665888083]
# 地図を作る
def create_map(zoom_level):
fmap = folium.Map(
location=kyoto,
zoom_start=zoom_level,
attr='OpenStreetMap & GeoNLPプロジェクト'
)
for k,v in topojson_files.items():
topojson_path = './data/day_240526_'+v
folium.TopoJson(
data=open(topojson_path, encoding='utf-8'),
object_path='objects.town',
name=k
).add_to(fmap)
folium.LayerControl().add_to(fmap)
return fmap # 表示
create_map(13)
Make this Notebook Trusted to load map: File -> Trust Notebook
格子模様に走る通りに対し、45度回転した町の境界線#
さらに拡大して眺めて見ると、南北東西に走る京都の道に対して、街の境界は傾いた菱形になっている。 町の境界線が描くデカルト座標系は、道路が作るデカルト座標系な世界線に対して、ほぼ45度に回転していて美しい。
Show code cell source
create_map(16)
Make this Notebook Trusted to load map: File -> Trust Notebook