jp-local-gov
v1.8.0
Published
`npm install jp-local-gov`
Downloads
308
Readme
jp-local-gov
npm install jp-local-gov
機能一覧
都道府県
prefectureNames: string[]
「北海道」「東京都」「大阪府」のように、都道府県の名前を、JIS X 0401 で定められている都道府県コードの順番で収録した配列です。
prefectureNamesWithoutSuffix: string[]
「北海道」「東京」「大阪」のように、通常「北海道」としか呼ばれない北海道以外の都府県について、「都府県」の接尾辞を抜いた都道府県の名前を、JIS X 0401 で定められている都道府県コードの順番で収録した配列です。
prefectureIds: string[]
都道府県を漢字で管理するのには様々な不都合がありえるため、扱いやすい英字での ID を別途用意しています。ローマ字表記には表記ゆれがありえますが (gunma, gumma 等)、各都道府県のウェブサイトの URL から抜き出したものを採用しています。
prefecturalWebsites: {id: string}
各都道府県のウェブサイトの URL (正確には「オリジン」) を収録したオブジェクトです。理想的には https://www.pref.{都道府県ID}.lg.jp/
の形式ですが、 .lg.jp
ドメインを採用せず単に .jp
ドメインを使用している都道府県も複数存在しています。このオブジェクトを利用することで、たとえば Google 検索で site:https://www.pref.gunma.jp/
と指定して県公式データのみを検索するといった活用ができます。
adjacentPrefectures: {id: id[]}
国土交通省が発注者支援業務等民間競争入札実施要項で用いている、橋梁及びトンネルでの隣接を含む地続きの隣接都道府県のデータを元としたオブジェクトです。
getPrefectureName(name[, removeSuffix: boolean]): string
上述の都道府県 ID を都道府県名に変換します。
getPrefectureId(id): string
都道府県名を上述の都道府県 ID に変換します。「都府県」の有無の双方に対応しています。
衆議院
getShuDistrictCounts(date: string[, sort='legally' | 'by-vote-day']): {pref: number}
日付を指定することで、その日付現在の、都道府県とその小選挙区の個数の対応を示すオブジェクトを返します。
小選挙区の数は公職選挙法の改正により変わりますが、実際の選挙での小選挙区の個数の変化は、法改正の施行のタイミングと一致するとは限りません。補欠選挙においては、旧区割りで実施されると定められています。そのため、「法的な現在の数」と「いま補欠選挙が行われた場合の数」のどちらが欲しいか、区別する必要があります。
原理主義的には「法的な現在の数」をデフォルトとしたいところですが、実用的には「いま補欠選挙が行われた場合の数」が知りたいことが圧倒的に多いため、そちらをデフォルト値としています。
blockNames: string[]
公職選挙法で定められている比例代表ブロックの名前を収録した配列です。別表第2で示されている順番のとおり収録されています。「北関東」のような形式で、接頭辞「比例」や接尾辞「ブロック」を含みません。
blockIds: string[]
上述の blockNames
をヘボン式ローマ字に転写し ID とした配列です。なお、長母音は短母音と区別せず、撥音の後ろに母音字が続く場合も記号を挿入していません (hokurikushinetsu
)。
getBlockName(blockId: string): string
上述の比例代表ブロック ID を比例代表ブロック名に変換します。
getBlockId(blockName: string): string
比例代表ブロック名を上述の比例代表ブロック ID に変換します。現時点では表記揺れに対応しておらず、公職選挙法で定められている比例代表ブロック名以外の文字列に対してはエラーを返します。
getShuHireiBlockSeatCounts(date: string[, sort='legally' | 'by-vote-day']): {blockId: number}
日付を指定することで、その日付現在の、比例ブロックとその定数の対応を示すオブジェクトを返します。
sort
オプションの仕様は、上の getShuDistrictCounts()
と同様です。
比例ブロックの補欠選挙は、定数の4分の1を超す欠員が起こったときに実施されると定められており、過去に行われたことはありませんが、念のため実装しています。
全国地方公共団体コード
総務省が定めている「全国地方公共団体コード」のための機能群です。JIS X 0401 で定められている2桁の都道府県コード、JIS X 0402 で定められている3桁の市区町村コードと、検査数字1桁から成ります。
allCodes: Object
ソースにもなっている、全コードの情報です。
verifyCheckDigit(code): bool
6桁の全国地方公共団体コードの検査数字が正常かどうかを返す関数です。
getCodeInfo(code): Object
6桁の全国地方公共団体コードから、その地方公共団体の情報 (コード、名前、読みかな、上位/下位の都道府県/市区町村) を返す関数です。
searchCodeInfo(word): Object
「沼津市」「東京都北区」などのクエリを引数にとり、データベース (ローカルの JSON ファイル) から一致するものを検索し、その地方公共団体の情報 (コード、名前、読みかな、上位/下位の都道府県/市区町村) を返す関数です。
地域メッシュコード
JIS X 0410 で定められている「地域メッシュコード」のための機能群です。業界でみられる様々な非標準拡張にも対応しています。
coordinateToMeshCode(coordinate[, degree]): string
座標をメッシュコードに変換します。
第1引数には座標を [緯度, 経度] もしくは [経度, 緯度] の形式で与えます。
座標の緯度経度をどの順番で指定するかは大きなサービス間でもはっきりと統一されていません。ISO 6709 では [緯度, 経度] の順と定義されており、Google Maps や JIS X 0410 など、この順番を遵守しているものがやや多い印象ですが、たとえば GeoJSON (RFC 7841) では [経度, 緯度] の順で座標を記述します。「地域メッシュコード」は日本国土のみ (北緯24 - 46度、東経122 - 149度範囲) を対象としているため、幸い順番の推測が可能ですから、このライブラリは両方の順番に対応しています。
第2引数には所望のメッシュ種類を指定します。省略した場合、基準地域メッシュコードとなります。
| 引数 | JIS X 0410 での定義 | 1辺のおおよその距離 | よく使われている名称 | 使用されている箇所の例 |
| --- | --- | --- | --- | --- |
| JIS-1
| 「基準地域メッシュコード」のはじめ4桁の「第1次地域区画を示す数字」 | 80 km | 1次メッシュコード | 国勢調査 |
| JIS-2
| 「基準地域メッシュコード」のはじめ6桁の「第2次地域区画を示す数字」 | 10 km | 2次メッシュコード | 国勢調査 |
| JIS-3
| 「基準地域メッシュコード」 (「第3次地域区画を示す数字」) | 1 km | 3次メッシュコード | 国勢調査 |
| JIS-3-1/2
, 4
, 500m
| 「2分の1地域メッシュコード」(分割地域メッシュコードの1種) | 500 m | 4次メッシュコード | 国勢調査 |
| JIS-3-1/4
, 5
, 250m
| 「4分の1地域メッシュコード」(分割地域メッシュコードの1種) | 250 m | 5次メッシュコード | 国勢調査 |
| JIS-3-1/8
, 125m
| 「8分の1地域メッシュコード」(分割地域メッシュコードの1種) | 125 m | | |
| JIS-3-x10
| 「10倍地域メッシュコード」(統合地域メッシュコードの1種) | 10 km | | |
| JIS-3-x5
| 「5倍地域メッシュコード」(統合地域メッシュコードの1種) | 5 km | | |
| JIS-3-x2
| 「2倍地域メッシュコード」(統合地域メッシュコードの1種) | 2 km | | |
| 100m
| なし | 100 m | | 国土数値情報「土地利用細分メッシュデータ」 |