Thursday Feb 04, 2016

データベースのJSON機能をGeoJSONで試してみる(その1)

1年半前にリリースされたバージョンでJSON機能が追加されました。

Oracle Database 12c (12.1.0.2)技術セミナー #6 JSON対応 - YouTube

JSON形式のデータをOracle Databaseがサポートするための実装

GeoJSONデータに対してこの機能を使う例を数回に分けてご紹介します。
元データは国土交通省の"GISホームページ"からダウンロード可能ですがこれはGeoJSON
形式データではありません。

国土数値情報 行政区域データの詳細

都道府県名(N03_001)当該区域を含む都道府県名称

これをGeoJSONに変換し、Oracleにロードするという手順を踏む必要がありますが
ここはまだベストの方法が分かっていないため次回以降ご紹介したいと思います。

今日はロード後の状態から確認します。まずは表定義です。SDO_GEOMETRYは
Oracle Spatial 機能のデータ型ですがしばらくは使いません。

SQL> describe GEO_JSON_VC
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 GJ_FEATURE                                         VARCHAR2(32767)
 GEOM                                               PUBLIC.SDO_GEOMETRY

12.1.0.1 からVARCHAR2の最大長が 32KB になってますので今回は最大限にしています。ですが
今回のデータを32KBに納めるように分割するのは難しいので実際は CLOB か BLOB の方が良いと思います。

GJ_FEATUREの総件数と内容を1行だけ見てみます。今回はパフォーマンス計測のためデータの重複や無効なデータも表に入っています。

SQL> select count(*) from GEO_JSON_VC where GJ_FEATURE is json;

   1692928

SQL> select substr(gj_feature,1,240) from GEO_JSON_VC where GJ_FEATURE is json and rownum=1;

{ "type": "Feature", "properties": { "N03_001": "北海道", "N03_002": "渡島総合振
興局", "N03_003": null, "N03_004": "函館市", "N03_007": "01202" }, "geometry": {
 "type": "Polygon", "coordinates": [ [ [ 141.03201083, 41.72375222499999 ], [ 14
1.031973333,

国交省のホームページに書いてありますが名前が"N03_001"の値には都道府県名が入っています。
ここだけを取り出すには以下のようにDB12cR1 PS1(12.1.0.2)の新機能のJSONオペレーターを使います。

SQL> select unique json_value(GJ_FEATURE,'$.properties.N03_001') from GEO_JSON_VC;
岐阜県
大阪府
鹿児島県
[...]
44 rows selected.

日本に都道府県が 44 しかないという妙な結果になっていてすみません。これはデータが完全にロードされていないのが理由です。
続きの回では緯度経度情報をSELECTする例を予定しています。

Friday Jan 29, 2016

ダッソー・システムズのJava EE移行セッション on YouTube

日本の会社名も出てきていますが世界中にユーザがいるフランスのダッソー・システムズ社が
いかに買収製品などを Java EE に移行したのかというセッションがJavaOneであったようです。

その録画がYouTubeにアップロードされており、弊社のエバンジェリストのブログで
紹介されました。私は以前製造業系の会社にいたので CATIA というデスクトップ製品の
イメージが強いです。デスクトップのコンポーネントとサーバー部分をどう実装したのかというような
説明も出てきています。

Migrating from Tomcat to Java EE and TomEE at Dassault Systemes (The Aquarium)

one of the global leaders in 3D modelling (think CAD/CAM), product life-cycle management systems

英語のセッションですが英語でキャプションも表示されます。YouTubeの機能かもしれません。

About

Personal View of a Sales Engineer in Tokyo.

Search

Archives
« February 2016
SunMonTueWedThuFriSat
 
1
2
3
5
6
7
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
     
       
Today