ksj package

ksj.api module

ksj.api.get_summary() → pandas.core.frame.DataFrame

国土数値情報の概要情報(取得できるデータ一覧)を取得する

Returns

国土数値情報APIで取得できるデータの一覧

Return type

pandas.DataFrame

Example

>>> import ksj
>>> ksj_summary = ksj.get_summary()
>>> ksj_summary.head()
  identifier      title    field1 field2 areaType
0        A03  三大都市圏計画区域      政策区域   大都市圏        2
1        A09       都市地域  国土(水・土地)   土地利用        3
2        A10     自然公園地域        地域   保護保全        3
3        A11     自然保全地域        地域   保護保全        3
4        A12       農業地域  国土(水・土地)   土地利用        3
ksj.api.get_url(identifier: str, pref_code=None, mesh_code=None, metro_area=None, fiscal_year=None) → pandas.core.frame.DataFrame

国土数値情報のURL情報を取得する

Parameters
  • identifier (str) – ファイルの識別子(例:「地価公示」なら’L01’)

  • pref_code (str, int) – 都道府県コード(例:13, ‘11,12’, ‘11-14’)

  • mesh_code (str, int) – メッシュコード。areaType=4の場合のみ有効。(例:5340)

  • metro_area (str, int) – 都市圏コード。areaType=2の場合のみ有効。(例:100)

  • fiscal_year (str, int) – 年度。(例:2017, ‘2015,2019’, ‘2014-2016’)

Returns

データの情報とzipファイルのURLが入ったデータフレーム

Return type

pandas.DataFrame

Example

>>> import ksj
>>> urls = ksj.get_url(identifier="N03", pref_code='11-14', fiscal_year=2019)
>>> urls.head()
  identifier title field  year areaType areaCode datum                                         zipFileUrl zipFileSize
0        N03  行政区域  政策区域  2019        3       11     1  http://nlftp.mlit.go.jp/ksj/gml/data/N03/N03-2...      3.54MB
1        N03  行政区域  政策区域  2019        3       12     1  http://nlftp.mlit.go.jp/ksj/gml/data/N03/N03-2...      6.17MB
2        N03  行政区域  政策区域  2019        3       13     1  http://nlftp.mlit.go.jp/ksj/gml/data/N03/N03-2...     12.20MB
3        N03  行政区域  政策区域  2019        3       14     1  http://nlftp.mlit.go.jp/ksj/gml/data/N03/N03-2...      5.22MB

ksj.shapefile module

ksj.shapefile.get_shp(url: str, path: str) → None

指定したURLのzipファイルを指定フォルダにダウンロードする。

Parameters
  • url (str) – 国土数値情報ダウンロードサービスが提供するzipファイルのURL

  • path (str) – 保存先のパス

Example

>>> import os
>>> import ksj
>>> url = "http://nlftp.mlit.go.jp/ksj/gml/data/N03/N03-2019/N03-190101_12_GML.zip"
>>> save_dir = "/tmp/testing"
>>> if not os.path.exists(save_dir):
...     os.mkdir(save_dir)
...
>>> ksj.get_shp(url, path=save_dir)
>>> os.listdir(save_dir)
['N03-190101_12_GML.zip']
ksj.shapefile.read_shp(url, return_type='auto')

指定したURLのシェープファイルを取得して読み込む。

指定したURLのzipファイルを一時フォルダにダウンロードし、解凍してGeoDataFrameで開く。 稀に一つのzipファイルに複数のシェープファイルが含まれるものもあるが、その場合はGeoDataFrameのリストで返す。

Parameters
  • url (str) – 国土数値情報ダウンロードサービスが提供するzipファイルのURL

  • return_type (str) – 返り値の型を指定します。(default = “auto”) “auto”の場合、zipファイル内のシェープファイルが1つならGeoDataFrame、複数ならGeoDataFrameのlistで返します。 “list”の場合、常にGeoDataFrameのlistを返します。

Returns

読み込んだシェープファイルのデータ。 一つのzipファイルに複数のシェープファイルがある場合、GeoDataFrameをlistに入れて返します。

Return type

geopandas.GeoDataFrame or list

Example

>>> import ksj
>>> urls = ksj.get_url(identifier='N03', pref_code='13', fiscal_year=2019)
>>> url = urls['zipFileUrl'][0]
>>> shape_gdf = ksj.read_shp(url)
>>> shape_gdf.head()
  N03_001 N03_002 N03_003 N03_004 N03_007                                           geometry
0     東京都    None    None    千代田区   13101  POLYGON ((139.77287 35.70370, 139.77279 35.703...
1     東京都    None    None     中央区   13102  POLYGON ((139.78341 35.69645, 139.78459 35.696...
2     東京都    None    None      港区   13103  POLYGON ((139.77129 35.62841, 139.77128 35.628...
3     東京都    None    None      港区   13103  POLYGON ((139.76689 35.62774, 139.76718 35.627...
4     東京都    None    None      港区   13103  POLYGON ((139.77022 35.63199, 139.77046 35.631...

ksj.translate module

ksj.translate.get_column_table(silent=True) → pandas.core.frame.DataFrame

シェープファイルの列名の対応表を取得する。

シェープファイルの列名の対応表xls を開き、ブック内の全シートを結合して単一のデータフレームにして返す。

Returns

xlsファイル

Return type

pandas.DataFrame

Example

>>> import ksj
>>> columns = ksj.get_column_table()
>>> columns.head()
     識別子       データ項目                         タグ名      対応番号        属性名
0  A02-a  指定地域3次メッシュ  DesignatedAreaTertiaryMesh  A02a_001  3次メッシュコード  NaN
1  A02-a  指定地域3次メッシュ  DesignatedAreaTertiaryMesh  A02a_002   3次メッシュ面積  NaN
2  A02-a  指定地域3次メッシュ  DesignatedAreaTertiaryMesh  A02a_003    農業地域の面積  NaN
3  A02-a  指定地域3次メッシュ  DesignatedAreaTertiaryMesh  A02a_004    森林地域の面積  NaN
4  A02-a  指定地域3次メッシュ  DesignatedAreaTertiaryMesh  A02a_005   都市計画区域面積  NaN
ksj.translate.translate(data: geopandas.geodataframe.GeoDataFrame) → geopandas.geodataframe.GeoDataFrame

年度によって意味が変わらない列についてのみ列名を変換する。

Parameters

data (geopandas.GeoDataFrame) – 国土数値情報ダウンロードサービスから取得されたシェープファイル

Returns

列名を日本語に変換したシェープファイル

Return type

geopandas.GeoDataFrame

Example

>>> import ksj
>>> urls = ksj.get_url(identifier='N03', pref_code='13', fiscal_year=2019)
>>> url = urls['zipFileUrl'][0]
>>> shape_gdf = ksj.read_shp(url)
>>> shape_gdf.head()
  N03_001 N03_002 N03_003 N03_004 N03_007                                           geometry
0     東京都    None    None    千代田区   13101  POLYGON ((139.77287 35.70370, 139.77279 35.703...
1     東京都    None    None     中央区   13102  POLYGON ((139.78341 35.69645, 139.78459 35.696...
2     東京都    None    None      港区   13103  POLYGON ((139.77129 35.62841, 139.77128 35.628...
3     東京都    None    None      港区   13103  POLYGON ((139.76689 35.62774, 139.76718 35.627...
4     東京都    None    None      港区   13103  POLYGON ((139.77022 35.63199, 139.77046 35.631...
>>> shape_gdf = ksj.translate(shape_gdf)
>>> shape_gdf.head()
  都道府県名   支庁名 郡政令都市 市区町村名 行政区域コード                                           geometry
0   東京都  None  None  千代田区   13101  POLYGON ((139.77287 35.70370, 139.77279 35.703...
1   東京都  None  None   中央区   13102  POLYGON ((139.78341 35.69645, 139.78459 35.696...
2   東京都  None  None    港区   13103  POLYGON ((139.77129 35.62841, 139.77128 35.628...
3   東京都  None  None    港区   13103  POLYGON ((139.76689 35.62774, 139.76718 35.627...
4   東京都  None  None    港区   13103  POLYGON ((139.77022 35.63199, 139.77046 35.631...