
Contents
実行環境 インポート時に geomety_columns と spatial_ref_sys テーブルも作られる 空間参照系カタログの spatial_ref_sys が 1 行しかない(一昨日) 空間参照系が異なるシェープファイルをインポート ①(昨日、事前準備まで) - 投入先データベース作成(文字コード
UTF-8) - インポート実行と結果 : SRID
は単純に 1 からの連番だった - PostGIS
と違い、生の空間データを見ても無意味 同じ空間参照系のシェープファイルを追加インポート(10 月 12 日)
投入先データベース作成(文字コード UTF-8)
昨日、総務省統計局「地図で見る統計(統計まず投入先データベースを
mysql> CREATE DATABASE estat CHARACTER SET utf8;
文字コード確認は ↓ こんな感じ。失敗例の
mysql> \u estat Database changed mysql> SELECT @@character_set_database; +--------------------------+ | @@character_set_database | +--------------------------+ | latin1 | +--------------------------+ 1 row in set (0.00 sec)


↓ 参考まで、失敗した様子。最初は


- Stack Exchange - How did QGIS fix a shapefile's character encoding, and can I do this on the command line with ogr2ogr?
- Stack Overflow - Encoding problems with ogr2ogr and Postgis/PostgreSQL database
シェープファイルの
インポート実行と結果 : SRID は単純に 1 からの連番だった
10$cd D:\AppsPortable\GDAL\release-1500-gdal-1-11-1-mapserver-6-4-1\bin $gdal\apps\ogr2ogr -progress -f "MySQL" MySQL:estat,user=root,password=******** R:\estat\XYSJC_h22ka01101.shp # just one line actually $gdal\apps\ogr2ogr -progress -f "MySQL" MySQL:estat,user=root,password=******** R:\estat\XYSWC_h22ka01101.shp $gdal\apps\ogr2ogr -progress -f "MySQL" MySQL:estat,user=root,password=******** R:\estat\DDSJC_h22ka01101.shp $gdal\apps\ogr2ogr -progress -f "MySQL" MySQL:estat,user=root,password=******** R:\estat\DDSWC_h22ka01101.shp

以下、インポート結果について。まずテーブル一覧を見ると ↓ 確かに
mysql> \u estat Database changed mysql> show tables; +------------------+ | Tables_in_estat | +------------------+ | ddsjc_h22ka01101 | | ddswc_h22ka01101 | | geometry_columns | | spatial_ref_sys | | xysjc_h22ka01101 | | xyswc_h22ka01101 | +------------------+ 6 rows in set (0.00 sec)

各テーブルの行数は ↓ シェープファイルからのテーブルは同じ
SELECT table_name, table_rows FROM information_schema.TABLES WHERE table_schema = 'estat'; +------------------+------------+ | table_name | table_rows | +------------------+------------+ | ddsjc_h22ka01101 | 955 | | ddswc_h22ka01101 | 955 | | geometry_columns | 4 | | spatial_ref_sys | 4 | | xysjc_h22ka01101 | 955 | | xyswc_h22ka01101 | 955 | +------------------+------------+ 6 rows in set (0.00 sec)

↓
SELECT F_TABLE_NAME, F_GEOMETRY_COLUMN, SRID, TYPE FROM geometry_columns; +------------------+-------------------+------+---------+ | F_TABLE_NAME | F_GEOMETRY_COLUMN | SRID | TYPE | +------------------+-------------------+------+---------+ | xysjc_h22ka01101 | SHAPE | 1 | POLYGON | | xyswc_h22ka01101 | SHAPE | 2 | POLYGON | | ddsjc_h22ka01101 | SHAPE | 3 | POLYGON | | ddswc_h22ka01101 | SHAPE | 4 | POLYGON | +------------------+-------------------+------+---------+ 4 rows in set (0.00 sec) SELECT SRID, AUTH_NAME, AUTH_SRID, LEFT(SRTEXT, 35) FROM spatial_ref_sys; +------+-----------+-----------+-------------------------------------+ | SRID | AUTH_NAME | AUTH_SRID | LEFT(SRTEXT, 35) | +------+-----------+-----------+-------------------------------------+ | 1 | NULL | NULL | PROJCS["Japan_Zone_12",GEOGCS["GCS_ | | 2 | NULL | NULL | PROJCS["JGD_2000_Japan_Zone_12",GEO | | 3 | NULL | NULL | GEOGCS["GCS_Tokyo",DATUM["Tokyo",SP | | 4 | NULL | NULL | GEOGCS["GCS_JGD_2000",DATUM["JGD_20 | +------+-----------+-----------+-------------------------------------+ 4 rows in set (0.00 sec)

さらに別のデータをインポートする時、spatial_ref_sys
PostGIS と違い、生の空間データを見ても無意味
PostGIS- WKB/EWKB
を見てみる - PostGIS 2.2.0
日本語マニュアル : PostGIS EWKB, EWKT と標準形式 - 同・英語(PostGIS EWKB, EWKT and Canonical Forms)
一方
mysql> SELECT * FROM ddswc_h22ka01101 LIMIT 1 \G; *************************** 1. row *************************** OGR_FID: 1 SHAPE: ♦ ☺♥ ☺ ■ 瞶鬪ェa@?V↑↕畿@$?♫Μa@7ャ 畿@→6?a @▲@5!ÿ界@:ヲ^x岡a@ý/ヘ♫E@=ァ蒔a@↔ヒv溽界@)?ヲ蒔a@ZG黔迥E@ニ盞侮ェa@ヌ ク竓E@ウケ謀蒔a@濺&ユ界@?薛穐a@^æ9「メ界@快9━a@D?界@エ「エ ェa@・<鰭マ界@§?q|ェa@1囲界@ナeg◄xェa@T睇?界@¶H、wェa@☻f皙レ界@穀[qw ェa@z ォ界@ルZwXェa@空 モ謚E@鍜þェa@Y纏(鼕E@ヤ5&'zェa@ケbユ∟E@♫fヲHzェa@◄ルE@ネ T厭ェa@¶ §♠畿@þ▲~ェa@♥w 畿@瞶鬪ェa@?V↑↕畿@ area: 34241.060 perimeter: 754.716 h22ka01_: 13586 h22ka01_id: 13585 ken: 01 city: 101 ken_name: 北海道 sityo_name: 石狩振興局 gst_name: 札幌市 css_name: 中央区 hcode: 8101 kihon1: 7922 dummy1: - kihon2: 15 keycode1: 101792215 keycode2: 1017922 area_max_f: M kigo_d: NULL n_ken: NULL n_city: NULL n_c1: 0 kigo_e: NULL kigo_i: NULL tate: 0 dir: 0 hight: 50 jikaku: 10 nmoji: 6 moji: 北二十二条西 seq_no2: 13585 ksum: 2 csum: 2 jinko: 29 setai: 1 x_code: 141.32838 y_code: 43.08521 kcode1: 7922-15 key_code: 011017922 1 row in set (0.00 sec) ERROR: No query specified

まだ
最後に参考まで ↓ シェープファイルからできたテーブルの全列の情報。describe
mysql> describe ddsjc_h22ka01101; +------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------+------+-----+---------+----------------+ | OGR_FID | int(11) | NO | PRI | NULL | auto_increment | | SHAPE | geometry | NO | MUL | NULL | | | area | double(19,3) | YES | | NULL | | | perimeter | double(19,3) | YES | | NULL | | | h22ka01_ | decimal(6,0) | YES | | NULL | | | h22ka01_id | decimal(6,0) | YES | | NULL | | | ken | varchar(2) | YES | | NULL | | | city | varchar(3) | YES | | NULL | | | ken_name | varchar(12) | YES | | NULL | | | sityo_name | varchar(22) | YES | | NULL | | | gst_name | varchar(14) | YES | | NULL | | | css_name | varchar(14) | YES | | NULL | | | hcode | decimal(4,0) | YES | | NULL | | | kihon1 | varchar(4) | YES | | NULL | | | dummy1 | varchar(1) | YES | | NULL | | | kihon2 | varchar(2) | YES | | NULL | | | keycode1 | varchar(9) | YES | | NULL | | | keycode2 | varchar(9) | YES | | NULL | | | area_max_f | varchar(1) | YES | | NULL | | | kigo_d | varchar(2) | YES | | NULL | | | n_ken | varchar(2) | YES | | NULL | | | n_city | varchar(3) | YES | | NULL | | | n_c1 | decimal(3,0) | YES | | NULL | | | kigo_e | varchar(3) | YES | | NULL | | | kigo_i | varchar(1) | YES | | NULL | | | tate | decimal(1,0) | YES | | NULL | | | dir | decimal(7,0) | YES | | NULL | | | hight | decimal(5,0) | YES | | NULL | | | jikaku | decimal(5,0) | YES | | NULL | | | nmoji | decimal(2,0) | YES | | NULL | | | moji | varchar(96) | YES | | NULL | | | seq_no2 | decimal(8,0) | YES | | NULL | | | ksum | decimal(4,0) | YES | | NULL | | | csum | decimal(4,0) | YES | | NULL | | | jinko | decimal(10,0) | YES | | NULL | | | setai | decimal(10,0) | YES | | NULL | | | x_code | double(19,5) | YES | | NULL | | | y_code | double(19,5) | YES | | NULL | | | kcode1 | varchar(7) | YES | | NULL | | | key_code | varchar(11) | YES | | NULL | | +------------+---------------+------+-----+---------+----------------+ 40 rows in set (0.00 sec)
