+
    $ja=                     p   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  P                  ]P                  P                  ]4      4      t]P                  P                  ]R4      t]P                  P                  ]R4      tRRuttRRuttR tR	 t]! 4       tR
 t]P0                  ! ]! ]RR7      4      tR t/ t/ t] F  t]P?                  R4      ]P?                  R4      3 Fg  t ] '       g   K  ]! ] 4      t!]P?                  R4      '       d#   ]PE                  ]!]R,          ]R,          34       ]PE                  ]!]R,          4       Ki  	  K  	  R t#R t$/ RRbRRbRRbRRbRRbRR bR!R"bR#R$bR%R&bR'R(bR)R*bR+R,bR-R.bR/R0bR1R2bR3R4bR5R6b/ R7R8bR9R:bR;R<bR=R>bR?R@bRARBbRCRDbRER"bRFRGbRHRIbRJRKbRLRMbRNRObRPRQbRRRSbRTRUbRVRWbC/ RXRYbRZR[bR\R]bR^R_bR`RabRbRcbRdRebRfRgbRhRibRjRkbRlRmbRnRobRpRqbRrRsbRtRubRvRwbRxRybCRzR{R|R}R~RRRRRRRRRRRRR/	Ct%RRRRRRRRRRRRRRRRRR/	t&R t'R. ROR3R. RORN3R1. ROR3R. RORL3R. ROR3R. ROR3R. ROR3R. ROR3R. ROR3R. ROR3R. ROR3.t(RRR]%RN,          R1]%R1,          R]%RL,          RRRR/t). ROt*R t+. t,]-! R4       ]( EF  w  t.t/t0])P?                  ].4      ;'       g    ]%P?                  ].4      t1]'! ].]14      w  t2t3t4t5/ t6Rt7]8! ]*4       F8  w  t9t:]/]9,          ]6]:&   ]/]9,          f   K  ]/]9,          ^ 8  g   K/  ]/]9,          t7K:  	  Rt;]<! ]*4       F)  t:]6]:,          f   K  ]6]:,          ^ 8  g   K   ]6]:,          t; M	  ]+! ]/4      t=],P}                  R].RRR]1'       d   ]1MRR]2R]3R]5R]4R]=R]6R];R]0RR/4       ]-! R]. R]= R]5 R]2 24       EK  	  RRRRR. RORRRRRRRRRRRRR/RR^R^2R^dRR/RRRRRRRR/t?R]?R],/t@]P                  ! ]@]! ]P                  P                  ]R4      RRR7      R^R7       ]! ]4       ]-! R]B! ],4      R4       R# )u  
言問散歩 ボードDB(board.json) ＋ 在庫・配布DB(inventory.json) ビルダ
出典: 在庫/設置数 正本スプレッドシート fileId 1rhKwpQVhNGhPeGdlklZjfF4rCKBM12ex
     ボード議事録 Doc 1G0ewHKh... / ボード進捗txt 1xtlGkAH...
ジオコード: 国土地理院 AddressSearch + meiten-master.json 既存座標流用
捏造禁止: 数値はスプレッドシート実値のみ。住所不明は null/不明。
Nz_geocache.jsonz_geo_index.jsongQA@g     A@gHzwa@g(\za@c                      \         P                  P                  \        4      '       d&   \        P
                  ! \        \        R R7      4      # / # )utf-8encoding)ospathexists	GEO_CACHEjsonloadopen     ZC:\Users\daito\company\projects\kototoi-sanpo-editorial\meiten-business\data\_board_lib.py
load_cacher      s0    	ww~~i  yyi':;;Ir   c           	      Z    \         P                  ! V \        \        R RR7      R^R7       R# )wr   r   Fensure_asciiindentN)r
   dumpr   r	   )cs   &r   
save_cacher      s    IIaiw7eTUVr   c                   V '       g   R# \         P                  ! RRV 4      P                  4       pVP                  RR4      pV\        9   d#   \        V,          pV'       d   \        V4      # R# R\        P                  P                  V4      ,           p \        P                  P                  V^R7      ;_uu_ 4       p\        P                  ! VP                  4       P                  R4      4      pRRR4       \"        P$                  ! R
4       X'       g   R\        T&   R# T^ ,          R,          R,          w  rxY.\        T&   Y3#   + '       g   i     L_; i  \         d!   p\!        R	Y4       R\        T&    Rp?R# Rp?ii ; i)uN   国土地理院ジオコーディング。台東中心域外/失敗は None。Nu   〒?\s*\d{3}-?\d{4} u   　 z9https://msearch.gsi.go.jp/address-search/AddressSearch?q=)timeoutr   z  geocode error:g?geometrycoordinates)resubstripreplaceCACHEtupleurllibparsequoterequesturlopenr
   loadsreaddecode	Exceptionprinttimesleep)	addravurlrdataelnglats	   &        r   gsi_geocoder:      s%   
%r40668A			%AEz!HuQx&$&
EHZHZ[\H]
]C^^##C#44::affhoog67D 5 	JJsOaAwz"=1HCzE!H: 54  !'as6   )E  4E4E E	E E F	)FF	r   r   c                 j    V '       g   R # V P                  4       p \        P                  ! RR V 4      p V # )r   u9   [\s　　,，、。・･\-‐—–\(\)（）【】\[\]])lowerr   r    )ss   &r   	norm_namer>   9   s+    R		A
KRQRSAHr   namenormr9   r8   idc                   \        V 4      pV'       g   R# V\        9   g   V\        9   dP   \        P                  V4      pV'       d
   V^ ,          MRV'       d
   V^,          MR\        P                  V4      3# \         Fr  p\	        V4      ^8  g   K  W19   g	   W9   g   K#  \        P                  V4      pV'       d
   V^ ,          MRV'       d
   V^,          MR\        P                  V4      3u # 	  R# )uP   店名 → (lat,lng,storeId) 既存マスター流用。部分一致も試す。N)NNN)r>   
NAME2COORDNAME2IDgetlen)r?   nkr   ks   &   r   match_meitenrI   I   s    	4B!!	Z2=NN2!tQQqTD'++b/JJq6Q;AGrwq!AAaD41gkk!nMM  r   c                     V R J;'       dE    \         T u;8*  ;'       d
    \        8*  Mu ;'       d    \        Tu;8*  ;'       d
    \        8*  # u # N)LAT_MINLAT_MAXLNG_MINLNG_MAX)r9   r8   s   &&r   in_taitorP   X   s<    d?VVw#888VVW=V=Vw=VV=VVr   u   谷中ビアホールu0   〒110-0002 東京都台東区上野桜木2-15-6u   喫茶 清浄無垢u0   〒110-0002 東京都台東区上野桜木2-10-5u   CAFÉ＆BAR ROSSONEROu<   〒110-0003 東京都台東区根岸1-5-13 南山ビル 2階u%   チーズ料理専門店 チーズ谷u)   〒110-0004 東京都台東区下谷2-3-1zU BLUEu-   〒110-0003 東京都台東区根岸1-3-20 2Fu   ビストロ酒場5感u*   〒110-0003 東京都台東区根岸1-3-20u   珈琲の店デンu*   〒110-0003 東京都台東区根岸3-3-18u   酒処 侘助u*   〒110-0013 東京都台東区入谷1-24-1u   とんかつ とん将u*   〒111-0032 東京都台東区浅草3-22-4u   楽亀u*   〒110-0013 東京都台東区入谷1-31-7u   四川料理 蜀香坊u*   〒110-0004 東京都台東区下谷2-5-11u   オオイリヤu*   〒110-0004 東京都台東区下谷2-2-18u	   龍一吟u)   〒110-0003 東京都台東区根岸3-6-5u   花重谷中茶屋u*   〒110-0001 東京都台東区谷中7-5-27u	   はつねu+   〒110-0003 東京都台東区根岸2-14-18u!   サウナセンター鶯谷本店u)   〒110-0004 東京都台東区下谷2-4-7u   浅草鳥きちu*   〒111-0032 東京都台東区浅草2-27-8u"   レオニダス浅草店 Cafe Rionu,   〒111-0033 東京都台東区花川戸1-5-3u   炭火焼18u)   〒110-0004 東京都台東区下谷1-6-9zCAFE BEVANDARIAu*   〒110-0003 東京都台東区根岸3-13-1u   カフェバーミヤミu-   〒111-0035 東京都台東区西浅草2-16-7u   Dining Bar 第三基地u+   〒110-0004 東京都台東区下谷2-21-12u    カラオケMIX BAR 第四基地u;   〒110-0003 東京都台東区根岸3-7-2 足立ビル 2階u   中国菜～道 dao～u'   〒110-0001 東京都台東区谷中1-1u3   江戸前煮干 中華そば きみはん 総本店u   タラレバゴルフ＆バーu9   〒110-0003 東京都台東区根岸1-1-21高野ビル 3Fu   さけ処 川セ美u+   〒110-0004 東京都台東区下谷2-24-11u   鮨 くり田u*   〒110-0003 東京都台東区根岸1-1-26u   居酒屋 関所u)   〒110-0003 東京都台東区根岸1-7-3u   合羽橋 栃木屋u,   〒111-0035 東京都台東区西浅草3-7-1u   とんかつ とん平u*   〒110-0003 東京都台東区根岸1-2-20u   Soy＆Co 1879u.   〒111-0036 東京都台東区松が谷2-28-11u>   ヤナカアパートメントストア Amazing Moments YanakauK   〒110-0001 東京都台東区谷中7-525 ヤナカアパートメント102u   根津 松好u+   〒113-0031 東京都文京区根津1-18-10u   縁u/   〒116-0014 東京都荒川区東日暮里5-5-8u*   炭火焼きと純米酒さとうともやu1   〒116-0014 東京都荒川区東日暮里4-35-15u   徳岡官兵衛茶舗u)   〒110-0003 東京都台東区根岸3-1-9u"   ミカワシマバル スズナリu*   〒116-0002 東京都荒川区荒川3-63-3u   上野観光案内所u<   〒110-8503 東京都台東区上野3-29-5 上野案内所2Fu+   東京観光情報センター 京成上野uJ   〒110-0007 東京都台東区上野公園1-60 京成上野駅改札口前madeiu*   〒111-0032 東京都台東区浅草7-3-12zMrs.Charlotte LA MAISONu)   〒111-0032 東京都台東区浅草7-5-7u   feb's coffee ＆ sconeu)   〒111-0032 東京都台東区浅草3-1-1u   歌謡曲カフェLover’su*   〒110-0003 東京都台東区根岸1-1-16u   ダンスホール新世紀u=   〒110-0003 東京都台東区根岸1-1-14 第二大島ビルu   清水観音堂u.   〒110-0007 東京都台東区上野公園1-29u   寛永寺根本中堂u1   〒110-0002 東京都台東区上野桜木1-14-11u   小野照崎神社u+   〒110-0004 東京都台東区下谷2-13-14u   元三島神社u*   〒110-0003 東京都台東区根岸1-7-11u$   下町ミュージアム＋吉田屋u-   〒110-0007 東京都台東区上野公園2-1u   アライ軒u)   〒110-0004 東京都台東区下谷2-9-8u   よーかんちゃんu*   〒110-0003 東京都台東区根岸1-2-12u   店舗B（管理物件）u.   〒110-0003 東京都台東区根岸３丁目1u   旧池田邸（管理物件）u9   〒110-0003 東京都台東区根岸３丁目３−１７u   城北信金(管理物件)u+   〒110-0003 東京都台東区根岸3-18-23u   美容室（管理物件）u)   〒110-0003 東京都台東区下谷3-2-3u   旧種村邸（管理物件）u+   〒110-0004 東京都台東区下谷1-11-14u   言問宿（管理物件）u   東京都台東区下谷1-12-11u   言問茶屋（管理物件）u0   東京都台東区下谷１丁目１２−１１u   旧伊達邸 （管理物件）u%   東京都台東区下谷1丁目5－35u	   真源寺u   東京都台東区下谷1-12-16u   三島神社u   東京都台東区下谷3-7-5u   根津神社u   東京都文京区根津1-28-9u   浅草神社u   東京都台東区浅草2-3-1u*   国立国会図書館（関西館含む）u$   東京都千代田区永田町1-10-1zROUTE BOOKSu!   東京都台東区東上野4-14-3u   浅草見番u   東京都台東区浅草3-33-5u   根岸三平堂u   東京都台東区根岸2-10-12u   二木商会・二木の菓子u   東京都台東区上野6-16-3c                   \        V 4      w  r#pVe   \        W#4      '       d   W#VR3# T;'       g3    \        P                  V 4      ;'       g    \        P                  V 4      pV'       dd   \        V4      pV'       d5   \        V^ ,          V^,          4      '       d   V^ ,          V^,          VR3# V'       d   V^ ,          V^,          VR3# Ve   W#VR3# RRVR3# )u\   1) meiten既存座標 2) GSIジオコード(住所/補完) の順。台東域チェック。Nzmeiten-mastergsizgsi-outsidezmeiten-outsidepending)rI   rP   ADDRrE   ADDR_SUPPLEMENTr:   )r?   r1   r9   r8   sidr2   r   s   &&     r   resolve_coordsrX      s     &MCc
8C--o--;;;;/"5"5d";AN!A$!%%Q41sE))Q41sM11
...sI%%r   u   はぎわら青果店r   u	   栃木屋u   関所u   関口さんの隣u   松崎さんの駐車場u   大日印刷u	   印刷所u   割烹 たむらu   荒砥牛乳店u   東上野 河井邸u   河合邸前 候補(議事録)u!   パークジャパン駐車場①u   台東区根岸3丁目7-11u   東京都台東区根岸3丁目u   東京都台東区根岸3-7-11c                    V ^,          pV ^,          pV'       d
   V^ 8  d   R# V^ 8X  d   R# \         ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       d   R# R# )uo   設置済/予定/停止 判定。直近(v14/v13)で正値=設置済、0のみ=予定、全null=停止/履歴。u	   設置済u   予定c              3   8   "   T F  q'       g   K  Vx  K  	  R # 5irK   r   ).0r   s   & r   	<genexpr>board_status.<locals>.<genexpr>   s     
'kQ11ks   	
TFu   停止)any)counts_listv14v13s   &  r   board_statusrb      sQ    
a.C
a.Caq
s
'k
'sss
'k
'''r   z=== BOARD geocoding ===tantouu   加藤addressu   不明geocodestoreIdstatuscountslatestCountnotecontractu<   月¥3,000/年¥36,000(原則・自社物件は無償含む)z  z: r   z lat=titleu;   言問ボード（インフォメーションボード）DBpurposeu   言問散歩の設置告知ボード（軒下広告枠付き）の設置先・配本数・契約・状況のマスター。アプリ『ボード地図』タブが読む。sources	geocodingu   国土地理院 AddressSearch + meiten-master.json 既存座標流用。台東中心域チェック(35.69-35.75/139.74-139.83)。取得不可=pending。uU   加藤さん中心（現地交渉・設置調整）。データ整備=宮内さん。monthlyi  yearlyi  currencyJPYug   設置協力先への支払いは原則 月3,000円（自社物件は無償含む）。出典:議事録targets	immediatemidfinalu   5〜6月で合計30箇所→中期50→最終100箇所。30到達後に軒下広告(ポスター枠)販売テスト開始。出典:議事録businessModelu   ボード右側のポスター枠を『軒下広告』(求人・地域告知)として販売し収益化。媒体の『どこで見られるか』明示で媒体価値向上。fabricationNoteu   GR19準拠。冊数はスプレッドシート実値のみ。空欄=null。住所不明は『不明』。現状『設置済約6カ所・交渉/目安約20カ所』(議事録)とDB行数は集計タイミングが異なる。	vol15NoteuF   Vol.15列はスプレッドシート上 全行空欄（配本前）。updatedz
2026-06-07_metaboardsz
board.jsonr   Fr   zboard.json written:)	   r~   N       r   r   #   N)	N   r   r   4   
   r   r   N)	r   NNr   r~   r   r   (   N)	NNNr   $   r   r   r   N)	   NNr      r   r   r   N)	NNNr   r   r   r   r   N)	Nr   Nr~   r   r   r   r   N)	NNr~   NNr~   NNN)	r   Nr~   Nr~   NNNN)	Nr   r~   NN%   NNN)	   r~   NNNNNNN)	vol7vol8vol9vol10vol11vol12vol13vol14vol15)u   在庫/設置数 正本スプレッドシート fileId 1rhKwpQVhNGhPeGdlklZjfF4rCKBM12ex（ブロック③ インフォメーションボード）uY   ボード設置計画・進捗 議事録 Doc 1G0ewHKh_YOPhfl4o7BIytC3u3CPMSl0Mmkl3mFxQhfEu;   ボード進捗確認 txt 1xtlGkAHbtLnrMVFJeXzBKHB5IRM1OukQu[   ボード設計AI/PDF: 1FIW2xOiYFcM..(BF_sidenet_jyuki_boad) / 1IfxZwD-..(BF_jiritsu_board))C__doc__r
   r   r   r/   urllib.parser%   urllib.requestr   dirnameabspath__file__BASEjoinr	   	GEO_INDEXrL   rM   rN   rO   r   r   r#   r:   r   r   GEOr>   rC   rD   grE   keyrG   
setdefaultrI   rP   rU   rV   rX   
BOARD_ROWS
BOARD_ADDR
VOLS_BOARDrb   r}   r.   r?   clrj   r1   r9   r8   rW   srcrh   latest	enumerateir3   latest_countreversedstappend
board_meta	board_outr   rF   r   r   r   <module>r      s   8 7 7	wwrwwx01GGLL/0	GGLL01	 % 6 
W 	6 iiY12 

	AfquuV}-33BuuU||%%b1U8QuX*>?r1T7+ . 
W>O>M> [> ,-X	>
 => J> F> A> J> :> J> C> <> F> >>  ()T!>" C#>$ )*X%>& >'>( C)>*  O+>, L->. '(e/>0 G1>2 :;g3>4 %&a5>6 H7>8 A9>: C;>< I=>> J?>@ EA>B E  GTC>D BE>F 
<G>H 12eI>J HK>L )*VM>N [O>P 23Q>R 9S>T JU>V IW>X "#OY>Z "#b[>\ G]>^ P_>` Ga>b Cc>d +,[e>f ?g>h I!Q$&a "O!#N$&S!#D$&X%'N{>F 234302X648$&F
&4 ;R@57LM7<:<NO92> ?D9;GErJCRHDFfg(*TVrs
 >+,k"d%&D')I
 T
 
    ND"d>>$11488D>D'd3Cc3FF*%1qEq	a5AUF &
 Lj!!9 VAY]!!9L " 
b	B
MM(44XsE333"&|R  
BtfBrd!C5cU
+,; !@ J  }    le45*ey RGS  gh  H  zY|)
. j(F3	 		)T"'',,t\:C'RQ( 
5  S[( 3r   