登記所備付地図データ(地図XML形式)変換コンバータmojxml2geojson(改)
Claudeでパフォーマンスの改善をしていただきました。

高速化1 — daihyo_text の文字列連結を廃止
変更前変更後ループ内で daihyo_text += "..."daihyo_parts.append(...) でリスト収集し、ループ後に ','.join(daihyo_parts) で一括結合
文字列の += はループのたびに新オブジェクトを生成するため、筆数が多いほど急激に遅くなります。join はメモリ確保が1回で済みます。

高速化2 — 座標系チェックをループ外に移動
untreated_flag / treated_flag の判定とファイル全体に共通の sys.exit() をループ前に一度だけ実行するよう変更。また元コードの treated_flag is True: untreated_flag is False(比較文になっていて代入されていないバグ)を untreated_flag = False に修正しました。

高速化3 — xml_property と basename をループ外でキャッシュ
毎ループ同じ値を生成していた xml_property、cityname、os.path.basename() をループ前に一度だけ計算するよう変更。

高速化4 — IdSurfaceTable の二重参照を解消
surface = IdSurfaceTable[ref_gm_surface] で一度取得し、interior のリスト内包表記もネストループから一行に整理。

高速化5 — None チェックを or '' にまとめる
4つの if xxx is None: xxx = '' を hude.get('大字名') or '' の一行に整理(可読性・速度の軽微な改善)。
setExistProperties / sortProperties の簡略化
list.index() による O(n) 探索を廃止し、zip と dict.get() による O(1) のシンプルな辞書内包表記に変更。