File size: 1,364 Bytes
a1c0952
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
export type PrefData = {
  /// 全国地方公共団体コード
  lg_code: string;
  /// 都道府県名
  pref: string;
  /// 都道府県名_カナ
  pref_kana: string;
  /// 都道府県名_英字
  pref_roma: string;
  /// 効力発生日
  efct_date: string;
  /// 廃止日
  ablt_date: string;
  /// 備考
  remarks: string;
};

export type PrefPosData = {
  /// 全国地方公共団体コード
  lg_code: string;
  /// 代表点_経度
  rep_lon: string;
  /// 代表点_緯度
  rep_lat: string;
  /// 代表点_座標参照系
  rep_srid: string;
  /// 代表点_地図情報レベル
  rep_scale: string;
  /// ポリゴン_ファイル名
  plygn_fname: string;
  /// ポリゴン_キーコード
  plygn_kcode: string;
  /// ポリゴン_データフォーマット
  plygn_fmt: string;
  /// ポリゴン_座標参照系
  plygn_srid: string;
  /// ポリゴン_地図情報レベル
  plygn_scale: string;
};

export type PrefDataWithPos = PrefData & PrefPosData;

export function mergePrefectureData(prefData: PrefData[], prefPosData: PrefPosData[]): PrefDataWithPos[] {
  const out: PrefDataWithPos[] = [];
  for (const pref of prefData) {
    const pos = prefPosData.find((pos) => pos.lg_code === pref.lg_code);
    if (pos) {
      out.push({ ...pref, ...pos });
    }
  }
  return out;
}