Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

コード体系の不思議~郵便番号の自動判定は無理なような

幾度か、「非IT屋の決めるコード体系は理解に苦しむ」ネタを掲げましたが、今回も。
郵便番号で遊んでいると、次のようなデータがありました。

0600063 北海道 札幌市中央区 南三条西(1~18丁目)                                      
0640803 北海道 札幌市中央区 南三条西(20~28丁目)
0600054 北海道 札幌市中央区 南四条東
0640804 北海道 札幌市中央区 南四条西
0600055 北海道 札幌市中央区 南五条東
0640805 北海道 札幌市中央区 南五条西
0600056 北海道 札幌市中央区 南六条東
0640806 北海道 札幌市中央区 南六条西
0600057 北海道 札幌市中央区 南七条東
0640807 北海道 札幌市中央区 南七条西

素直に、考えたら、郵便番号はキー項目にしたいし、順序採番して欲しいとろです。実際は、郵便番号は重複しているのがあるようです。
同じ「南三条西」でも丁目によって、3桁目が異なるのは、どうも落ち着きが悪い。
最初に採番したときは、札幌市中央区 060-xxxxの連番を振ったのでしょう、その後町域が広がって、丁目が増えたり、町を東西に分けたのでしょう。
その際、空き番がないから、064-xxxxをつかったものと、類推されます。
 いかにもな採番に見えます。 町域が広がるのは容易に想像付く筈なのに、なぜコード化するときに考慮しなかったのかなぁ。
郵便番号のコード化のルールが存在するなら、知りたいものです。

"北都留郡小菅村","以下に掲載がない場合",
この分類は、仕方ないなぁと思います。

そうかと思うと、読み仮名の項目に ">" の文字が入っていたりします。
データをXML化して、XML処理の検証に使おうと加工すると、必ず、落ちるんですよ。追求していくと、
「オオエ(1チョウメ、2チョウメ<651、662、668バンチ>イガイ、3チョウメ5、1」のデータがあるではないですか。

"長野県","長野市","青木島町青木島乙(956番地以外)"こんな排他判断が必要なデータがあったり
"大阪府","大阪市中央区","城見松下IMPビル(地階・階層不明)" "不明"となっているのは、落ち着かない。
"京都市上京区","一町目(上長者町通堀川東入、東堀川通上長者町上る、東堀川通中" 京都の住所は例外扱いてす。

"北都留郡小菅村","小菅村(1~663)"
"北都留郡小菅村","小菅村(664以上)"
"大江(1丁目、2丁目「651、662、668番地」以外、3丁目5、1"
このあたりになると、プログラム処理は厳しくなります。し "("があるのに閉じ")"がなかったり
"青森県","上北郡六戸町","四木、七百、下久保「174を除く」、下淋代、高森、通目木、坪毛沢「2"
"「"が閉じてなかったりします。
これから邪推すると、郵便会社のマスターデータはもっと長い住所項目があり、一定長でぶち切ったと感じます。

と思ったら、同一郵便番号のデータが複数件あり、次の例だと 4件で"03300071" を表すようです。

"0330071","上北郡六戸町","犬落瀬(内金矢、内山、岡沼、金沢、金矢、上淋代、木越、権現沢、"
"0330071","上北郡六戸町","四木、七百、下久保「174を除く」、下淋代、高森、通目木、坪毛沢「2"
"0330071","上北郡六戸町","5、637、641、643、647を除く」、中屋敷、沼久保、根古橋、堀切"
"0330071","上北郡六戸町","沢、南平、柳沢、大曲)"

無料で配るデータとはいえ、こんなレコードいやだなぁ。IT処理で不具合が発生しないような形にして欲しいなぁ
郵便番号の自動判定は無理なようですね。
逆にコード体系は、緻密でなくて、大雑派に決めて、桁不足になってから、継ぎ接ぎしてもシステムとして不具合なければ良いのかも知れませんね。

投稿日時 : 2008年9月19日 0:28

Feedback

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 1:32 れい

私もやったことがあります。
適当なところであきらめました。

京都の住所は住んでる人が使いやすいように作ったので、ITの方があわせるべきですし、
昔は情報機器のリソースに制限が大きかったのでいろいろ工夫しなきゃいけませんでしたが、
いまは住所程度のデータなら小さいものですから、申請順とかでもなんでもいいと思います。

むしろ変なレコードをなくして欲しい。

結局全部人間がやってるんでしょうね。
郵便行政にいかに無駄が多いか、ということですよね。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 2:03 Pasie.

 はたして郵便番号が悪いんだろうか?素朴な疑問ですが。
 私が郵便番号をふることが出来るなら、町名とかそんなのではなくて、配送単位でふります。たとえば郵便局に1番号。もしかすると更に小区分として、さらに配送地域(郵便配達バイクのコースとか)にコードを与えるかもしれません。
 その向こうであまりやりたくないと思うのは、住所の名称に郵便番号を紐づけることです。たとえば平成の大合併のように町の統廃合が行われるとそれにあわせないといけないし、飛び地みたいな箇所があると配送区域が明らかに違うのに同一番号になったりするのは不合理です。
 順序採番も美しいのは最初だけで更新がある度に醜くなります。大規模に宅地が造成されて新しい住所ができる場合とか。そうするとBASICの行番号みたいなもので、10飛ばしにしたところでいつかは破綻します。破綻した場合、BASICだったらRENUMで再付番できるからよいですが、郵便番号はそういうわけには…と思うと恐ろしいです。そんなだったら最初からランダムに降っておいて、ソート用のコードは別に用意したいかな。
 いっそのこと、住基番号で配達してくれたら楽か?とか思ったりもします。でも個人と建物は必ずしも関連しないから住基番号ではだめか。
 と、まあ徒然と書いてみました。乱筆失礼です。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 7:30 hoge

郵便番号はあくまで郵便配送に都合のいいように振ってある以上仕方のないところかと。

実際、郵便番号の頭3桁は配送担当の局(今で言うところの支店)ベースで振られている模様ですし。

最初の札幌の例で言えば、
・同一区、同一条であって、途中で郵便局の管轄が変わる
 (この例だと、1-18丁目は札幌支店、20-28丁目は山鼻支店)
と言うのが事情でしょうね。

ちなみに、町域はかなり昔(少なくとも、7桁化以前)から存在します。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 11:30 Ognac

>適当なところであきらめました。
これは意外! 諦めることもあるのですね。

>むしろ変なレコードをなくして欲しい。
同意。贅沢な望みはしないですね。直接取り入れたいだけですものね。

郵便行政にいかに無駄が多いか、ということですよね。

>順序採番も美しいのは最初だけで更新がある度に醜くなります。S
どのような、コード体系でも、対象物が多くなれば、対応を迫られます。しかし、桁不足になったから、桁を増やすとか、空番を使い回すというのでは、芸がないとおもうのです。以前投稿した車両ナンバープレートもそうですしね。

>配送地域(郵便配達バイクのコースとか)にコードを与えるかもしれません。
>郵便番号はあくまで郵便配送に都合のいいように振ってある以上仕方のないところかと。
先方の都合は理解できます。システムのコードルールは当事者に都合のよいように付けるのが筋だと思います。
しかし、配送地域が隣なのに、3桁目が変わるというのは、......

電話番号の市外局番も行政区域と無関係なんですよね。大阪市の市外局番は「06」で兵庫県尼崎市も「06」
市内局番は電話局単位ともいわれますが、近辺なら引っ越しても局番は不変にしてくれるようだし、こちらは、消費者側なので GOOD
そう言えば゛ 行政の丁目の付け方もルールの有無が不明です。xxx町yyy丁目とzzz丁目の境界線が道路でなく、家の境界だったりするようですね。1丁目から n丁目が東西の並びや南北の並びでなく、田の字のように
1丁目|2丁目
-------
3丁目|4丁目
のような塊だったり、住所を頼りに探そうとしても、迷うことがしばしばあります。
Google Mapはチャンと対応出来ているのは多大な努力の結果だと思うのです。
 
 それにしても、住所や郵便番号などのインフラのコード体系が、人的判断に依存するのは,如何なモノだろう。
開発者は本来の仕様以上に、データ依存仕様を考慮しないといけないし、同じ考慮をあちこちの開発者がしてそうな気がします。
横の繋がりで、共有できたら、二度手間が省けそうな気もしますが。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 16:18 とっちゃん

>しかし、配送地域が隣なのに、3桁目が変わるというのは、......

えー。ソートして住所とだけ比較してませんか?
郵便番号の歴史そのものをきちんと把握すればそれがどうしてその番号なのかは一目瞭然ですよ。
番号と住所だけでソートしてもそこに関連性はほとんど出ませんがそれに時間軸を足してみてください。
かなりの精度でオーダーがはっきりするはずです。
ただし、それを実現できるのは、自分が歴史をしる町くらいですけどねwww

>電話番号の市外局番も行政区域と無関係なんですよね。大阪市の市外局番は「06」で兵庫県尼崎市も「06」
大阪の市外局番ふたケタ化はかなり大人の事情が混ざっていた覚えがあるんですが...w

>市内局番は電話局単位ともいわれますが
これも今は、機械の進歩で必ずしもそうとはなっていません。
もっとも局番というくらいですから...w


>Google Mapはチャンと対応出来ているのは多大な努力の結果だと思うのです。
そこは Google ががんばってるわけでは...w
StreetViewはがんばってますけど、航空写真じゃない方はGoogleは使わせてもらってるだけです。
どことは書きませんが、配送などでも使われている詳細地図を見たことあります?
あれすごいですよwww<どことは言いませんがwww

ま、そこにも...げふんげふん

>それにしても、住所や郵便番号などのインフラのコード体系が、人的判断に依存するのは,如何なモノだろう
えっと、インフラのコード体系に人的依存したものをそのまま使うのはいかがなものなのでしょうか?
とすべきです。そもそもよりどころとするものが間違ってます。
座標がほしいのなら経緯度を使うべきだし、行政単位の情報が欲しければJISコードを活用すべきです。
そして、住所が一般的な短縮記号であるということをまず理解してその上できちんとしたコード体系をもたせて
それに住所をひも付けるという、ほんもののマスターデータをまずつくる必要があるといえます。

住所も、郵便番号も、電話番号もそれぞれ時間という異なる次元軸の尺度を使っているのですから。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 18:08 Ognac

>郵便番号の歴史そのものをきちんと把握すればそれがどうしてその番号なのかは一目瞭然ですよ。
なんか、データ誕生秘話みたいな世界。時間軸を考慮すれば、コードの謎が解けると。
謎は解けても、使いにくさは残る訳で....www(^^

>大阪の市外局番ふたケタ化はかなり大人の事情が混ざっていた覚えがあるんですが...w
>もっとも局番というくらいですから...w
用語自体が、実体違いになったのですね。

>どことは書きませんが、配送などでも使われている詳細地図を見たことあります?
住宅地図のことかなぁ。販売会社にとって、必須ITEMでした。こちらの情報収集力はすごいものがありますね。

>ま、そこにも...げふんげふん
なんか、裏事情満載のご様子。

>住所も、郵便番号も、電話番号もそれぞれ時間という異なる次元軸の尺度を使っているのですから。
でも、実存するものは使いたいというのも人情.......実情と人情の板挟み.....

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 19:17 とっちゃん

>使いにくさは残る訳で
論点違いますからねw


>住宅地図のことかなぁ
多分そうです。地図の名前は忘れちゃったけど...
結構黒い話聞きますよ。この業界ないからもw


>実存するものは使いたい
それこそITで解決をwww
でもこの先は、企業秘密になるのでwww

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 22:00 がんふぃーるど

同一の郵便番号が複数行に分かれているのは昔からある問題(?)ですね。
全角で38文字、半角で76文字を超える場合は複数行に分かれるそうです。(メールで1行78文字ってのを意識した?RFCではMUSTじゃなくてSHOULDだったような気もするが…)

一応、町域あたりの話は「郵便番号データの説明」とこに申し訳程度書かれていますね。http://www.post.japanpost.jp/zipcode/dl/readme.html

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/19 22:31 Pasie.

 ognacさんの要望はオーバースペックな気がします。郵便番号=郵便局の配送コード、であって住所の簡略コードではないので、"郵便"番号に、住所の簡略コードとしての役割を与えようとする方が無理があると思います。
 もし、住所から郵便番号がほしいなら、中間の住所コード(仮)を作成した方がよいのではないでしょうか?
  住所 =n:1=> 住所コード(仮) =n:1=> 郵便番号
 郵便番号に限りませんが、コードを作成する時に注意しなくてはならないのは、コードの意味は単一にすべきで複数の意味を持たせないようにすることだと思います。でないといつか必ずあちらをたてればこちらがたたず、みたいな状況になってしまいます。
 ところで、この住所コード(仮)にちかいものはないかなと探してみたところ、自治体コードというのを発見しました。 http://jichitai.ajtw.net/
 たぶんこういうのの詳細な表があればあるいは、といったところなんでしょうが…(でもだめか-_-;)
 ってそもそも住所から郵便番号の逆引きって必要です?とか思ったり。別のソフト(?)で検索して手入力してよ。とか邪な考えが頭をよぎる…

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/20 0:08 Ognac

>一応、町域あたりの話は「郵便番号データの説明」とこに申し訳程度書かれていますね。
確かにこそっと書かれてますね。
この説明のなかで、 「長い住所の組み合わせを複数レコード化する」のと、「1つの郵便場号に、複数の町域を割り当てる」ことの差が、解らないですね。

>ognacさんの要望はオーバースペックな気がします。
仰る通り、1:1の関係ではないし、包含関係もいまいちなので、無理があるのですが、手近なデータだし、無料だしというので、使えたらなぁと、淡い期待....orz;

>自治体コードというのを発見しました。 http://jichitai.ajtw.net/
これって、IEでは表示できませんね、他のBrowserでは可能なのだろうか?

他に、陸運局が作成している、陸運局住所コードというのもあり、「以下に含まない云々」というアバウト項目はなく、登記されている住居ならすべて網羅されている筈です、車の登録者名義人の住所コードが車検証に明記されていると思います。
こちらは、合併等で存在しなくなった住所のコードも残っています。永久連番で振られていて、過去の住所も引用できます。しかし、このデータの入手には結構な価格が付いていて、車関係者以外には知られていないようです。
 こちらが、一般化したら、郵便番号より、よほど使い勝手がよいと思うのですが。

# re: コード体系の不思議~郵便番号の自動判定は無理なような 2008/09/20 10:21 Pasie.

 こういうのこそ、国家がDNSみたいなサービスを運用してくれるといいんですけどね。

タイトル  
名前  
Url
コメント