医療圏のポリゴンデータをアップロードした際には日本語データが文字化けしており,原因も対処法も不明だった.
今回は行政区域データをダウロードし,SQL Server にアップロードしてみたところ,日本語が文字化けしなかったので報告する.
国土数値情報の行政区域データをダウンロードする
場所はこちらになる.
メタデータ
属性名 | shp属性名 | 説明 | 属性の型 |
---|---|---|---|
範囲 | 行政区として定義された領域 | 曲面型 | |
都道府県名 | N03_001 | 当該区域を含む都道府県名称 | 文字列型 |
支庁・振興局名 | N03_002 | 当該都道府県が「北海道」の場合、該当する支庁・振興局の名称 | 文字列型 |
郡・政令都市名 | N03_003 | 当該行政区の郡又は政令市の名称 | 文字列型 |
市区町村名 | N03_004 | 当該行政区の市区町村の名称 | 文字列型 |
行政区域コード | N03_007 | 都道府県コードと市区町村コードからなる、行政区を特定するためのコード | コードリスト |
ダウンロード
ダウンロードしたい行政区域データ,ここでは全国を選択する.
ページ最下段に令和2年があるのでダウンロードボタンをクリックする.
ファイルサイズの警告が出る.OKをクリックするとダウンロードが開始される.
zip ファイルの展開
ダウンロードフォルダにある zip ファイルを展開する.
展開されたファイル群に .dbf, .prj, .shp, .shx の拡張子をもつファイルがあることを確認する.
Shape2SQL で SQL Server にアップロードする
今回は Geometry properties を Geography (Spheric)で指定してみる.
特に問題なくアップロードできる.
結果の確認
クエリ
下記クエリを実行して結果を確認する.ジオメトリを nvarchar(max) 型に変換すると,ポリゴンの座標が表示できるようだ.
SELECT [ID] ,[N03_001] ,[N03_002] ,[N03_003] ,[N03_004] ,[N03_007] ,[geog] ,CAST([geog] AS nvarchar(max)) AS polygon FROM [MEDICAL_AREADB].[dbo].[N03-20_200101geog] WHERE dbo.[N03-20_200101geog].N03_001 = '東京都'
結果は以下の通りである.Management Studio の警告として,「表示する空間オブジェクトが多すぎるため,最初の 5000 個のオブジェクトが表示されています.クエリを修正してください」と表示される.具体的なアプリケーションは GIS に特化したものが必要になるのだろう.
日本語が文字化けせず表示される
前回と違って重要な点は,日本語が文字化けしていないことである.
(6173 行処理されました)
ストレージのデータ領域
Geometry 型で作成したテーブルのデータ領域は 251.297 MB を占めており,Geography 型だと 253.602 MB とほぼ同等だった.
まとめ
国土交通省の国土数値情報の行政区域データをダウンロードし,SQL Server にアップロードした.
データ型は「曲面型」となっており,Geography 型かと思われたが,テーブルサイズは Geometry 型でも Geography 型でも変わらなかった.
日本語が文字化けせず表示され,各種空間データとの結合が容易になると思われた.
“SQL Server 2008 R2 に国土数値情報の行政区域データをアップロードする” への2件の返信