DaRuMa お試し

DaRuMa に簡単なデータの型(Feature)を登録し,データの格納と取得をやってみましょう.

前提

DaRuMa のサーバが稼動しているとします.

DaRuMa サーバへのアクセス

DaRuMa サーバにアクセスする方法はいくつかありますが,最も簡単な方法は TCP の 5050 ポートにアクセスすることです.例えば telnet を使ってアクセスすると次のようになります:

~% telnet localhost 5050
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
<GetCapabilities xmlns="http://www.infosharp.org/misp"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<misp:GetCapabilitiesResponse xmlns:misp="http://www.infosharp.org/misp">
<misp:ResponseStatus>
...
</misp:WFS_Capabilities>
</misp:GetCapabilitiesResponse>

ここで斜体になっているところがユーザの入力したところです.

また,netcat を使ってアクセスすることもできます.例えば,まず<GetCapabilities xmlns="http://www.infosharp.org/misp"/> とだけ書かれたGetCapabilities.xmlなるファイルを作成します.これを netcat を使って DaRuMa に送るには,次のような感じになります:

~%% netcat localhost 5050 < GetCapabilities.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<misp:GetCapabilitiesResponse xmlns:misp="http://www.infosharp.org/misp">
  <misp:ResponseStatus>
...
  </misp:WFS_Capabilities>
</misp:GetCapabilitiesResponse>
結果の全体: GetCapabilities.result.xml

データの型の登録

まず,使いたいデータの型を登録します. mips の RegisterFeatureType を使います.

RegisterFeature.xml

~% netcat localhost 5050 < RegisterFeature.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<misp:RegisterFeatureTypeResponse xmlns:misp="http://www.infosharp.org/misp">
  <misp:ResponseStatus>
    <misp:MostRecentTransactionID>uri:uuid:59dc4459-ba24-4b3e-b90e-4237fb320cd8</misp:MostRecentTransactionID>
    <misp:ElapsedTime>
      <gml:beginPosition xmlns:gml="http://www.opengis.net/gml">2008-05-21T23:21:40.000+00:00</gml:beginPosition>
      <gml:endPosition xmlns:gml="http://www.opengis.net/gml">2008-05-21T23:21:40.000+00:00</gml:endPosition>
    </misp:ElapsedTime>
  </misp:ResponseStatus>
  <misp:Status>SUCCESS</misp:Status>
</misp:RegisterFeatureTypeResponse>

データの登録

次にデータベースにデータを登録します.

Insert を使います. Insert.xml

~% netcat localhost 5050 < Instert.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<misp:TransactionResponse xmlns:misp="http://www.infosharp.org/misp">
  <misp:ResponseStatus>
    <misp:MostRecentTransactionID>uri:uuid:3111edf1-d32c-4513-bff5-bae757cbd405</misp:MostRecentTransactionID>
    <misp:ElapsedTime>
      <gml:beginPosition xmlns:gml="http://www.opengis.net/gml">2008-05-21T23:37:48.000+00:00</gml:beginPosition>
      <gml:endPosition xmlns:gml="http://www.opengis.net/gml">2008-05-21T23:37:48.000+00:00</gml:endPosition>
    </misp:ElapsedTime>
  </misp:ResponseStatus>
  <misp:TransactionResult>
    <misp:TransactionID>uri:uuid:3111edf1-d32c-4513-bff5-bae757cbd405</misp:TransactionID>
    <misp:Status>SUCCESS</misp:Status>
    <misp:InsertCount>1</misp:InsertCount>
  </misp:TransactionResult>
</misp:TransactionResponse>

データの取得

先程登録したデータを取得してみましょう.

Query を使います.

Query.xml

~%netcat localhost 5050 < Query.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<misp:GetFeatureResponse xmlns:misp="http://www.infosharp.org/misp" xmlns:gml="http://www.opengis.net/gml">
  <misp:ResponseStatus>
    <misp:MostRecentTransactionID>uri:uuid:6c972e8b-48cd-4d79-98b5-1c8cdb794889</misp:MostRecentTransactionID>
    <misp:ElapsedTime>
      <gml:beginPosition>2008-05-21T23:35:32.000+00:00</gml:beginPosition>
      <gml:endPosition>2008-05-21T23:35:32.000+00:00</gml:endPosition>
    </misp:ElapsedTime>
  </misp:ResponseStatus>
  <misp:FeatureCollection>
    <gml:featureMember>
<title xmlns="http://staff.aist.go.jp/shunsuke.soeda/nodagumi/ananPJ/Test">HogeFooBar</title>
    </gml:featureMember>
</misp:FeatureCollection>
</misp:GetFeatureResponse>