Skip to content

市町村コードに誤りもしくは誤解を招くものがある #15

@kurashina-design

Description

@kurashina-design

本来の市町村コード(5桁):

01101

最初の2桁が都道府県コード(01:北海道)、それに続く3桁が市町村コード(101:札幌市中央区)


本来の市町村コード+チェックデジット(6桁):

011011

最初の2桁が都道府県コード(01:北海道)、それに続く3桁が市町村コード(101:札幌市中央区)、最後の1桁がチェックデジット。
※チェックデジットは入力ミス検出のために付加される補助的な数字であり、市町村コードそのものの意味を構成しません。


都道府県エンドポイントレスポンスの問題:

現在の都道府県エンドポイントのレスポンスでは、北海道、青森県、岩手県、宮城県、秋田県、山形県、福島県、茨城県、栃木県に属する市町村コードが5桁で提供されています。一方で、それ以外の都道府県の市町村コードは6桁で提供されています。

例えば、北海道札幌市中央区の市町村コードは、本来であれば以下のどちらかの形式であるはずです。

  • 5桁の場合: 01101
  • 6桁(チェックデジット含む)の場合: 011011

しかし、現在のレスポンスでは「11011」のように、先頭の「0」が省略され、かつ末尾にチェックデジットが含まれた状態で5桁とされています。これは、日本の市町村コードの標準的な形式から逸脱しており、データの互換性や正確性に問題が生じる可能性があります。


具体的な問題点と影響

  • 先頭「0」の欠落: 都道府県コードが1桁の場合(例: 北海道 01)、その先頭の「0」が省略されています。この「0」は単なる桁合わせではなく、コードの正式な構造の一部です。
  • チェックデジットの誤った組み込み: 本来は付加情報であるチェックデジットが、本来の5桁コードの一部であるかのように組み込まれてしまっています。
  • データの不整合: レスポンスによってコードの桁数が異なり(5桁と6桁)、またその5桁のコードが非標準的な形式であるため、データを利用する側で複雑な変換処理が必要になります。

この問題は、データを利用する他のシステムやアプリケーションにおいて、正しい市町村コードとの照合や連携を困難にする可能性があります。ご検討いただけますと幸いです。

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions