京都の町境界を描き「両側町」を眺めてみる('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