jp.co.melco.preserv.spatial
クラス psvMapBinder

java.lang.Object
  拡張jp.co.melco.preserv.spatial.psvMapBinder

public class psvMapBinder
extends java.lang.Object

タイトル: 通信管理クラス

説明: Web-GISサーバ(サーブレット)との接続の確立や、空間DBのメタ情報取得、 各Mapオブジェクトの管理等の機能を提供します。
getReqeustBuffer()メソッドで取得出来るpsvRequestBufferクラスで、リクエストのバッファリングを 行う事が可能です。

著作権: Copyright (c) 2004

会社名: Mitsubishi Electric Corporation

導入されたバージョン:
Ver6.0
作成者:
PreSerV Development Team

フィールドの概要
protected  AttributeLoadable attributeLoader
          属性読み込みオブジェクトです。
protected  jp.co.melco.preserv.spatial.psvBindingCore bindingCore
          通使用コアクラスです。
protected  java.util.Map cachedFeatureLayerInfo
          地物レイヤ情報のキャッシュです。
protected  java.util.Map cachedTopologyLayerInfo
          位相レイヤ情報のキャッシュです。
protected  jp.co.melco.preserv.spatial.psvTopologyLayerRelation[] cachedTopologyLayerRelations
          地物・位相レイヤの関連キャッシュです。
protected  boolean cacheLayerInfo
          レイヤ情報のキャッシュフラグです。
protected  jp.co.melco.preserv.spatial.psvFeatureMapBinder featureMapBinder
          地物通信用クラスです。
protected  java.util.Vector featureMaps
          featureMap保持用リストです。
protected  java.util.List featureRequestListeners
          地物リクエストのリスナです。
protected  psvBufferRelationManagerImpl relationManager
          関連管理オブジェクトです。
protected  psvRequestBuffer requestBuffer
          リクエストバッファクラスです。
protected  java.util.List serverConnectionListeners
          サーバ接続状態のリスナです。
protected  java.lang.String url
          接続先URL文字列です。
 
コンストラクタの概要
psvMapBinder()
          コンストラクタです。
 
メソッドの概要
 boolean addFeature(psvFeature feature)
          地物の追加を行います。
 void addFeatureRequestListener(jp.co.melco.preserv.spatial.psvFeatureRequestListener listener)
          地物リクエストリスナを追加します。
protected  boolean addFeatures(psvFeature[] features)
          地物リストの追加を行います。
 void addServerConnectionListener(psvServerConnectionListener listener)
          サーバ接続状態リスナを追加します。
 boolean changeFeature(psvFeature feature)
          地物の更新を行います。
protected  boolean changeFeatures(psvFeature[] features)
          地物リストの更新を行います。
 java.lang.Object connect(java.lang.String url)
          Web-GISサーバとの接続を確立します。
protected  AttributeLoadable createAttributeLoader()
          主題属性、時間属性の読み込みオブジェクトを作成して返します。
protected  jp.co.melco.preserv.spatial.psvFeatureMapBinder createFeatureMapBinder(jp.co.melco.preserv.spatial.psvBindingCore bindingCore)
          地物用通信クラスを作成して返します。
protected  psvBufferRelationManagerImpl createRelationManager()
          関連管理オブジェクトを返します。
 boolean disconnect()
          Web-GISサーバとの接続を切断します。
protected  void fireFeaturesAdded(psvFeature[] features)
          地物が追加された事を通知します。
protected  void fireFeaturesChanged(psvFeature[] features)
          地物が変更された事を通知します。
protected  void fireFeaturesGot(psvFeature[] features)
          地物が取得された事を通知します。
protected  void fireFeaturesRemoved(psvFeature[] features)
          地物が削除された事を通知します。
protected  void fireFeaturesWillAdd(psvFeature[] features)
          地物が追加される事を通知します。
protected  void fireFeaturesWillChange(psvFeature[] features)
          地物が変更される事を通知します。
protected  void fireFeaturesWillRemove(psvFeature[] features)
          地物が削除される事を通知します。
 java.lang.String getBizID()
          業務IDを返します。
 java.lang.Object getBizObject()
          業務オブジェクトを返します。
protected  java.util.Map getCountByAttribute(java.lang.String[] layerNames, FeatureAttributeQueries queries)
          引数で指定した主題属性を有する地物の件数を取得します。
protected  java.util.Map getCountByAttribute(java.lang.String[] layerNames, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch)
          引数で指定した主題属性を有する地物の件数を取得します。
 java.util.Map getCountByAttribute(java.lang.String layerName, FeatureAttributeQueries queries)
          引数で指定した主題属性を有する地物の件数を取得します。
 java.util.Map getCountByAttribute(java.lang.String layerName, java.lang.Object attributeName, java.lang.Object attributeValue, boolean matchPart)
          引数で指定した主題属性を有する地物の件数を取得します。
 java.util.Map getCountByAttribute(java.lang.String layerName, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch)
          引数で指定した主題属性を有する地物の件数を取得します。
protected  psvFeature getFeature(java.lang.Long key)
          引数で指定された地物管理キーの地物を取得します。
 psvAttributeDefinitions getFeatureAttributeDefinitions()
          地物レイヤの主題属性名一覧を返します。
protected  java.util.Collection getFeatureByAttribute(java.lang.String[] layerNames, FeatureAttributeQueries queries)
          引数で指定した主題属性を有する地物を取得します。
protected  java.util.Collection getFeatureByAttribute(java.lang.String[] layerNames, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch)
          引数で指定した主題属性を有する地物を取得します。
 java.util.Collection getFeatureByAttribute(java.lang.String layerName, FeatureAttributeQueries attributeQueries)
          引数で指定した主題属性を有する地物を取得します。
 java.util.Collection getFeatureByAttribute(java.lang.String layerName, java.lang.Object attributeName, java.lang.Object attributeValue, boolean matchPart)
          引数で指定した主題属性を有する地物を取得します。
 java.util.Collection getFeatureByAttribute(java.lang.String layerName, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch)
          引数で指定した主題属性を有する地物を取得します。
 java.util.Collection getFeatureByFeatureId(java.lang.String[] layerNames, java.lang.String[] featureIds, boolean matchPart)
          引数で指定した地物IDを有する地物を取得します。
 java.util.Collection getFeatureByInternalId(java.lang.String[] layerNames, java.lang.Long[] internalIds)
          引数で指定した地物管理キーを有する地物を取得します。
 java.util.Collection getFeatureByTemporal(java.lang.String[] layerNames, java.util.Date startDate, int startDateCondition, java.util.Date endDate, int endDateCondition)
          引数で指定された条件の地物を取得します。
protected  java.util.Map getFeatureLayerInfo()
          空間DBに登録されている全ての地物レイヤの情報 (レイヤ名、メタ情報の地物クラス名)を取得します。
 java.lang.String[] getFeatureLayerNames()
          地物レイヤ名を返します。
 java.util.Map getFeatureSchemaMap()
          レイヤ名称と地物スキーマ(String)の関連Mapを返します。
 java.lang.String[] getGeometryFeatureLayerNames()
          幾何レイヤ名(地物レイヤ名かつ、位相レイヤに含まれない)を返します。
protected  java.util.Map getInnerKeyByAttribute(java.lang.String[] layerNames, FeatureAttributeQueries queries, int maxCount)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
protected  java.util.Map getInnerKeyByAttribute(java.lang.String[] layerNames, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch, int maxCount)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
 java.util.Map getInnerKeyByAttribute(java.lang.String layerName, FeatureAttributeQueries queries, int maxCount)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
 java.util.Map getInnerKeyByAttribute(java.lang.String layerName, java.lang.Object attributeName, java.lang.Object attributeValue, boolean matchPart)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
 java.util.Map getInnerKeyByAttribute(java.lang.String layerName, java.lang.Object attributeName, java.lang.Object attributeValue, boolean matchPart, int maxCount)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
 java.util.Map getInnerKeyByAttribute(java.lang.String layerName, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
 java.util.Map getInnerKeyByAttribute(java.lang.String layerName, java.lang.String[] searchAttributes, boolean matchPart, boolean andSearch, int maxCount)
          引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。
protected  java.util.Collection getIntersection(java.util.Collection target, java.lang.String[] layerNames, jp.co.melco.preserv.psvRegion region)
          指定レイヤにおいて、指定領域と交差する全地物を取得します。
 java.util.Collection getIntersection(java.lang.String[] layerNames, jp.co.melco.preserv.psvRegion region)
          指定レイヤにおいて、指定領域と交差する全地物をデータベースから取得します。
 java.util.Collection getMapList()
          登録されている全MAPオブジェクトの取得します。
 java.util.Map getRelationshipMap(long[] ids)
          地物関連属性取得リクエストを作成して返します。
 psvRequestBuffer getRequestBuffer()
          リクエストバッファクラスを取得します。
 int getRequestIdLimit()
          地物内部ID要求制限数を取得します。
 java.lang.String[] getTopologyFeatureLayerNames()
          位相地物レイヤ名を返します。
protected  java.util.Map getTopologyLayerInfo()
          空間DBに登録されている全ての位相レイヤの情報 (レイヤ名、メタ情報の地物クラス名)を取得します。
 java.lang.String[] getTopologyLayerNames()
          位相レイヤ名を返します。
 java.util.Map getTopologyRoute(java.lang.String topologyLayerName, long startNodeKey, long[] endNodeKeys, long[] passedNodeKeys, double scopeMagnify, java.lang.String routeSelectClassName, int featureStructType, int resultKind, boolean cacheClear, java.lang.String[] requestAttributes, boolean useEdgeGeometry, int selectRouteKind)
          最短経路探索をサーバで実行し、その結果を返します。
protected  java.util.Map getTopologyRoute(java.lang.String topologyLayerName, long startNodeKey, long[] endNodeKeys, long[] passedNodeKeys, double scopeMagnify, java.lang.String routeSelectClassName, java.lang.Object routeSelectClass, int featureStructType, int resultKind, boolean cacheClear, java.lang.String[] requestAttributes, boolean useEdgeGeometry, int selectRouteKind)
          最短経路探索をサーバで実行し、その結果を返します。
 java.util.Map getTopologyRoute(java.lang.String topologyLayerName, long startNodeKey, long[] endNodeKeys, long[] passedNodeKeys, double scopeMagnify, TopologyRouteSelectorOptimalPath routeSelectClass, int featureStructType, int resultKind, boolean cacheClear, java.lang.String[] requestAttributes, boolean useEdgeGeometry, int selectRouteKind)
          最短経路探索をサーバで実行し、その結果を返します。
 boolean isConnected()
          サーバとの接続状態を返します。
 boolean isLoadWithAttribute()
          地物読み込み時に主題属性の読み込みを同時に行うかを返します。
 boolean isLoadWithTemporal()
          地物読み込み時に時間属性の読み込みを同時に行うかを返します。
protected  java.util.Collection loadFeature(java.lang.String layerName, java.lang.Object[] meshIds)
          レイヤ名とメッシュ名を指定して該当する地物を一括でロードします。
protected  boolean loadFeatureAttribute(psvFeature feature)
          指定地物の主題属性をロードします。
protected  boolean loadFeatureRelationship(psvFeature feature)
          指定地物の関連属性をロードします。
protected  boolean loadFeatureTemporal(psvFeature feature)
          指定地物の時間属性をロードします。
 boolean removeFeature(psvFeature feature)
          地物の削除を行います。
 void removeFeatureRequestListener(jp.co.melco.preserv.spatial.psvFeatureRequestListener listener)
          地物リクエストリスナを削除します。
protected  boolean removeFeatures(psvFeature[] features)
          地物の削除を行います。
 void removeServerConnectionListener(psvServerConnectionListener listener)
          サーバ接続状態リスナを削除します。
protected  void restoreTopologyRelations(psvFeature[] features)
          地物リストの地物に、エッジがあればノードを設定します。
 void setBizID(java.lang.String bizID)
          業務IDを設定します。
 void setBizObject(java.lang.Object bizObject)
          業務オブジェクトを設定します。
 void setLoadWithAttribute(boolean loadWithAttribute)
          地物読み込み時に主題属性の読み込みを同時に行うかを設定します。
 void setLoadWithTemporal(boolean loadWithTemporal)
          地物読み込み時に時間属性の読み込みを同時に行うかを設定します。
 void setRequestIdLimit(int requestInternalIdLimit)
          地物内部ID要求制限数を設定します。
 java.lang.String[] toFeatureLayerNames(java.lang.String[] topologyLayerNames)
          位相レイヤ名から対応する地物レイヤ名を返します。
 java.lang.String[] toTopologyLayerNames(java.lang.String[] featureLayerNames)
          地物レイヤ名から対応する位相レイヤ名を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

featureMaps

protected java.util.Vector featureMaps
featureMap保持用リストです。


bindingCore

protected jp.co.melco.preserv.spatial.psvBindingCore bindingCore
通使用コアクラスです。


featureMapBinder

protected jp.co.melco.preserv.spatial.psvFeatureMapBinder featureMapBinder
地物通信用クラスです。


url

protected java.lang.String url
接続先URL文字列です。


attributeLoader

protected AttributeLoadable attributeLoader
属性読み込みオブジェクトです。


relationManager

protected psvBufferRelationManagerImpl relationManager
関連管理オブジェクトです。


featureRequestListeners

protected java.util.List featureRequestListeners
地物リクエストのリスナです。


serverConnectionListeners

protected java.util.List serverConnectionListeners
サーバ接続状態のリスナです。


cachedFeatureLayerInfo

protected java.util.Map cachedFeatureLayerInfo
地物レイヤ情報のキャッシュです。


cachedTopologyLayerInfo

protected java.util.Map cachedTopologyLayerInfo
位相レイヤ情報のキャッシュです。


cachedTopologyLayerRelations

protected jp.co.melco.preserv.spatial.psvTopologyLayerRelation[] cachedTopologyLayerRelations
地物・位相レイヤの関連キャッシュです。


cacheLayerInfo

protected boolean cacheLayerInfo
レイヤ情報のキャッシュフラグです。


requestBuffer

protected psvRequestBuffer requestBuffer
リクエストバッファクラスです。

コンストラクタの詳細

psvMapBinder

public psvMapBinder()
コンストラクタです。

メソッドの詳細

createAttributeLoader

protected AttributeLoadable createAttributeLoader()
主題属性、時間属性の読み込みオブジェクトを作成して返します。

戻り値:
作成された主題属性、時間属性の読み込みオブジェクト

createRelationManager

protected psvBufferRelationManagerImpl createRelationManager()
関連管理オブジェクトを返します。

戻り値:
関連管理オブジェクト

createFeatureMapBinder

protected jp.co.melco.preserv.spatial.psvFeatureMapBinder createFeatureMapBinder(jp.co.melco.preserv.spatial.psvBindingCore bindingCore)
地物用通信クラスを作成して返します。

パラメータ:
bindingCore - 通信コアクラス
戻り値:
作成された地物用通信クラス

getMapList

public java.util.Collection getMapList()
登録されている全MAPオブジェクトの取得します。

戻り値:
登録されている全MAPオブジェクトのリスト(要素:psvSpatialMapContainableは保証される)

addFeatureRequestListener

public void addFeatureRequestListener(jp.co.melco.preserv.spatial.psvFeatureRequestListener listener)
地物リクエストリスナを追加します。

パラメータ:
listener - 追加する地物リクエストリスナ

removeFeatureRequestListener

public void removeFeatureRequestListener(jp.co.melco.preserv.spatial.psvFeatureRequestListener listener)
地物リクエストリスナを削除します。

パラメータ:
listener - 削除する地物リクエストリスナ

fireFeaturesChanged

protected void fireFeaturesChanged(psvFeature[] features)
地物が変更された事を通知します。

パラメータ:
features - 変更地物

fireFeaturesAdded

protected void fireFeaturesAdded(psvFeature[] features)
地物が追加された事を通知します。

パラメータ:
features - 追加地物

fireFeaturesRemoved

protected void fireFeaturesRemoved(psvFeature[] features)
地物が削除された事を通知します。

パラメータ:
features - 削除地物

fireFeaturesWillChange

protected void fireFeaturesWillChange(psvFeature[] features)
地物が変更される事を通知します。

パラメータ:
features - 変更地物

fireFeaturesWillAdd

protected void fireFeaturesWillAdd(psvFeature[] features)
地物が追加される事を通知します。

パラメータ:
features - 追加地物

fireFeaturesWillRemove

protected void fireFeaturesWillRemove(psvFeature[] features)
地物が削除される事を通知します。

パラメータ:
features - 削除地物

fireFeaturesGot

protected void fireFeaturesGot(psvFeature[] features)
地物が取得された事を通知します。

パラメータ:
features - 取得地物

getRequestBuffer

public psvRequestBuffer getRequestBuffer()
リクエストバッファクラスを取得します。

戻り値:
リクエストバッファクラス

addServerConnectionListener

public void addServerConnectionListener(psvServerConnectionListener listener)
サーバ接続状態リスナを追加します。

パラメータ:
listener - サーバ接続状態リスナ

removeServerConnectionListener

public void removeServerConnectionListener(psvServerConnectionListener listener)
サーバ接続状態リスナを削除します。

パラメータ:
listener - サーバ接続状態リスナ

isLoadWithAttribute

public boolean isLoadWithAttribute()
地物読み込み時に主題属性の読み込みを同時に行うかを返します。

戻り値:
地物読み込み時に主題属性の読み込みを同時に行うかの判定

setLoadWithAttribute

public void setLoadWithAttribute(boolean loadWithAttribute)
地物読み込み時に主題属性の読み込みを同時に行うかを設定します。

パラメータ:
loadWithAttribute - 地物読み込み時に主題属性の読み込みを同時に行うかの判定

isLoadWithTemporal

public boolean isLoadWithTemporal()
地物読み込み時に時間属性の読み込みを同時に行うかを返します。

戻り値:
地物読み込み時に時間属性の読み込みを同時に行うかの判定

setLoadWithTemporal

public void setLoadWithTemporal(boolean loadWithTemporal)
地物読み込み時に時間属性の読み込みを同時に行うかを設定します。

パラメータ:
loadWithTemporal - 地物読み込み時に時間属性の読み込みを同時に行うのかの判定

setRequestIdLimit

public void setRequestIdLimit(int requestInternalIdLimit)
地物内部ID要求制限数を設定します。
検索時は、取得制限数によるリクエスト分割を行ないます。
登録時、更新時、削除時は、DBで登録失敗した場合ロールバックできなくなる為、 更新系の場合は、上限数で分割するのではなく超えた場合に例外発生とする。

パラメータ:
requestInternalIdLimit - 地物内部ID要求制限数

getRequestIdLimit

public int getRequestIdLimit()
地物内部ID要求制限数を取得します。

戻り値:
地物内部ID要求制限数

connect

public java.lang.Object connect(java.lang.String url)
Web-GISサーバとの接続を確立します。 psvMapBinderは一度に一つのGISサーバとのみ接続可能となります。 複数のサーバと接続する場合は、サーバ毎にpsvMapBinderオブジェクトを生成し、 接続を確立します。

パラメータ:
url - Web-GISサーバURL
戻り値:
コネクション接続結果。
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

isConnected

public boolean isConnected()
サーバとの接続状態を返します。

戻り値:
true:接続中 false:切断中

disconnect

public boolean disconnect()
Web-GISサーバとの接続を切断します。

戻り値:
接続切断結果 成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureLayerNames

public java.lang.String[] getFeatureLayerNames()
地物レイヤ名を返します。

戻り値:
地物レイヤ名
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getGeometryFeatureLayerNames

public java.lang.String[] getGeometryFeatureLayerNames()
幾何レイヤ名(地物レイヤ名かつ、位相レイヤに含まれない)を返します。

戻り値:
幾何レイヤ名
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getTopologyLayerNames

public java.lang.String[] getTopologyLayerNames()
位相レイヤ名を返します。

戻り値:
位相レイヤ名

toFeatureLayerNames

public java.lang.String[] toFeatureLayerNames(java.lang.String[] topologyLayerNames)
位相レイヤ名から対応する地物レイヤ名を返します。

パラメータ:
topologyLayerNames - 位相レイヤ名称
戻り値:
位相レイヤに対応した地物レイヤ名称

toTopologyLayerNames

public java.lang.String[] toTopologyLayerNames(java.lang.String[] featureLayerNames)
地物レイヤ名から対応する位相レイヤ名を返します。

パラメータ:
featureLayerNames - 地物レイヤ名称
戻り値:
地物レイヤに対応した位相レイヤ名称

getTopologyFeatureLayerNames

public java.lang.String[] getTopologyFeatureLayerNames()
位相地物レイヤ名を返します。

戻り値:
位相地物レイヤ名

getFeatureLayerInfo

protected java.util.Map getFeatureLayerInfo()
空間DBに登録されている全ての地物レイヤの情報 (レイヤ名、メタ情報の地物クラス名)を取得します。 戻り値として、FeatureLayerSelectValueから取得した結果をそのまま返します。

戻り値:
空間DBに登録されている全ての地物レイヤの情報 エラー時はnullを返します。
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getTopologyLayerInfo

protected java.util.Map getTopologyLayerInfo()
空間DBに登録されている全ての位相レイヤの情報 (レイヤ名、メタ情報の地物クラス名)を取得します。 戻り値として、FeatureLayerSelectValueから取得した結果をそのまま返します。

戻り値:
空間DBに登録されている全ての位相レイヤの情報
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

loadFeatureAttribute

protected boolean loadFeatureAttribute(psvFeature feature)
指定地物の主題属性をロードします。

パラメータ:
feature - 主題属性をロードする地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

loadFeatureTemporal

protected boolean loadFeatureTemporal(psvFeature feature)
指定地物の時間属性をロードします。

パラメータ:
feature - 時間属性をロードする地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

loadFeatureRelationship

protected boolean loadFeatureRelationship(psvFeature feature)
指定地物の関連属性をロードします。

パラメータ:
feature - 関連属性をロードする地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getBizID

public java.lang.String getBizID()
業務IDを返します。

戻り値:
業務ID

setBizID

public void setBizID(java.lang.String bizID)
業務IDを設定します。

パラメータ:
bizID - 業務ID

getBizObject

public java.lang.Object getBizObject()
業務オブジェクトを返します。

戻り値:
業務オブジェクト

setBizObject

public void setBizObject(java.lang.Object bizObject)
業務オブジェクトを設定します。

パラメータ:
bizObject - 業務オブジェクト

loadFeature

protected java.util.Collection loadFeature(java.lang.String layerName,
                                           java.lang.Object[] meshIds)
レイヤ名とメッシュ名を指定して該当する地物を一括でロードします。

パラメータ:
layerName - 地物ロード対象のレイヤ名称
meshIds - 地物ロード対象のメッシュIDリスト(指定するメッシュIDはtoString()、又はStringクラスである必要があります。) FeatureSelectValueのREQUEST_ATTRIBUTE,REQUEST_TERMOFVALIDITY の何れか、 またはその両方をorで設定します。
戻り値:
該当する地物のリスト(要素:psvFeature)

restoreTopologyRelations

protected void restoreTopologyRelations(psvFeature[] features)
地物リストの地物に、エッジがあればノードを設定します。

パラメータ:
features - 地物リスト(要素:psvFeature)

getFeature

protected psvFeature getFeature(java.lang.Long key)
引数で指定された地物管理キーの地物を取得します。

パラメータ:
key - 地物管理キー
戻り値:
地物オブジェクト

addFeature

public boolean addFeature(psvFeature feature)
地物の追加を行います。

パラメータ:
feature - 追加する地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

addFeatures

protected boolean addFeatures(psvFeature[] features)
地物リストの追加を行います。

パラメータ:
features - 追加する地物オブジェクトリスト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

changeFeature

public boolean changeFeature(psvFeature feature)
地物の更新を行います。

パラメータ:
feature - 更新する地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

changeFeatures

protected boolean changeFeatures(psvFeature[] features)
地物リストの更新を行います。

パラメータ:
features - 更新する地物オブジェクトリスト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

removeFeature

public boolean removeFeature(psvFeature feature)
地物の削除を行います。

パラメータ:
feature - 削除する地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

removeFeatures

protected boolean removeFeatures(psvFeature[] features)
地物の削除を行います。

パラメータ:
features - 削除する地物オブジェクト
戻り値:
成功時:true 失敗時:false
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureByFeatureId

public java.util.Collection getFeatureByFeatureId(java.lang.String[] layerNames,
                                                  java.lang.String[] featureIds,
                                                  boolean matchPart)
引数で指定した地物IDを有する地物を取得します。

パラメータ:
layerNames - 検索対象地物レイヤ名
featureIds - 検索地物ID
matchPart - true:部分一致検索 false:完全一致検索
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null

getFeatureByInternalId

public java.util.Collection getFeatureByInternalId(java.lang.String[] layerNames,
                                                   java.lang.Long[] internalIds)
引数で指定した地物管理キーを有する地物を取得します。

パラメータ:
layerNames - 検索対象地物レイヤ名
internalIds - 地物管理キー
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null

getFeatureByAttribute

public java.util.Collection getFeatureByAttribute(java.lang.String layerName,
                                                  java.lang.String[] searchAttributes,
                                                  boolean matchPart,
                                                  boolean andSearch)
引数で指定した主題属性を有する地物を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureByAttribute

public java.util.Collection getFeatureByAttribute(java.lang.String layerName,
                                                  java.lang.Object attributeName,
                                                  java.lang.Object attributeValue,
                                                  boolean matchPart)
引数で指定した主題属性を有する地物を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
attributeName - 主題属性名
attributeValue - 主題属性の値
matchPart - true:部分一致検索 false:完全一致検索
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureByAttribute

public java.util.Collection getFeatureByAttribute(java.lang.String layerName,
                                                  FeatureAttributeQueries attributeQueries)
引数で指定した主題属性を有する地物を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
attributeQueries - 主題属性検索条件
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null

getFeatureByAttribute

protected java.util.Collection getFeatureByAttribute(java.lang.String[] layerNames,
                                                     java.lang.String[] searchAttributes,
                                                     boolean matchPart,
                                                     boolean andSearch)
引数で指定した主題属性を有する地物を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureByAttribute

protected java.util.Collection getFeatureByAttribute(java.lang.String[] layerNames,
                                                     FeatureAttributeQueries queries)
引数で指定した主題属性を有する地物を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
queries - 主題属性検索条件
戻り値:
適合する地物オブジェクトのリスト(要素:psvFeature) 検索失敗時:null

getInnerKeyByAttribute

public java.util.Map getInnerKeyByAttribute(java.lang.String layerName,
                                            java.lang.String[] searchAttributes,
                                            boolean matchPart,
                                            boolean andSearch)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP  検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getInnerKeyByAttribute

public java.util.Map getInnerKeyByAttribute(java.lang.String layerName,
                                            java.lang.String[] searchAttributes,
                                            boolean matchPart,
                                            boolean andSearch,
                                            int maxCount)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
maxCount - 最大取得配列数
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getInnerKeyByAttribute

public java.util.Map getInnerKeyByAttribute(java.lang.String layerName,
                                            java.lang.Object attributeName,
                                            java.lang.Object attributeValue,
                                            boolean matchPart)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
attributeName - 主題属性名
attributeValue - 主題属性の値
matchPart - true:部分一致検索 false:完全一致検索
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getInnerKeyByAttribute

public java.util.Map getInnerKeyByAttribute(java.lang.String layerName,
                                            java.lang.Object attributeName,
                                            java.lang.Object attributeValue,
                                            boolean matchPart,
                                            int maxCount)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
attributeName - 主題属性名
attributeValue - 主題属性の値
matchPart - true:部分一致検索 false:完全一致検索
maxCount - 最大取得配列数
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getInnerKeyByAttribute

public java.util.Map getInnerKeyByAttribute(java.lang.String layerName,
                                            FeatureAttributeQueries queries,
                                            int maxCount)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
queries - 主題属性検索条件
maxCount - 最大取得配列数
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null

getInnerKeyByAttribute

protected java.util.Map getInnerKeyByAttribute(java.lang.String[] layerNames,
                                               java.lang.String[] searchAttributes,
                                               boolean matchPart,
                                               boolean andSearch,
                                               int maxCount)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
maxCount - 最大取得配列数
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getInnerKeyByAttribute

protected java.util.Map getInnerKeyByAttribute(java.lang.String[] layerNames,
                                               FeatureAttributeQueries queries,
                                               int maxCount)
引数で指定した主題属性を有する地物のInnerKeyのリストを取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
queries - 主題属性検索条件
maxCount - 最大取得配列数
戻り値:
レイヤ名をKEYとしてヒットしたInnerKeyのリストをVALUEとしたMAP 検索失敗時:null

getCountByAttribute

public java.util.Map getCountByAttribute(java.lang.String layerName,
                                         java.lang.String[] searchAttributes,
                                         boolean matchPart,
                                         boolean andSearch)
引数で指定した主題属性を有する地物の件数を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
戻り値:
レイヤ名をKEYとしてヒットした件数をVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getCountByAttribute

public java.util.Map getCountByAttribute(java.lang.String layerName,
                                         java.lang.Object attributeName,
                                         java.lang.Object attributeValue,
                                         boolean matchPart)
引数で指定した主題属性を有する地物の件数を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
attributeName - 主題属性名
attributeValue - 主題属性の値
matchPart - true:部分一致検索 false:完全一致検索
戻り値:
レイヤ名をKEYとしてヒットした件数をVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getCountByAttribute

public java.util.Map getCountByAttribute(java.lang.String layerName,
                                         FeatureAttributeQueries queries)
引数で指定した主題属性を有する地物の件数を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerName - 検索対象地物レイヤ名
queries - 主題属性検索条件
戻り値:
レイヤ名をKEYとしてヒットした件数をVALUEとしたMAP 検索失敗時:null

getCountByAttribute

protected java.util.Map getCountByAttribute(java.lang.String[] layerNames,
                                            java.lang.String[] searchAttributes,
                                            boolean matchPart,
                                            boolean andSearch)
引数で指定した主題属性を有する地物の件数を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
searchAttributes - 検索対象主題属性.
文字配列の一要素は以下の書式で指定してください。
<<属性名称 + 条件符号 + 値>>
※条件符号には以下の5種類が指定可能です。
1.[==]:一致
2.[>] :より大きい
3.[>=]:以上
4.[<] :未満
5.[<=]:以下
matchPart - true:部分一致検索 false:完全一致検索
andSearch - true:全条件のAND検索 false:全条件のOR検索
戻り値:
レイヤ名をKEYとしてヒットした件数をVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getCountByAttribute

protected java.util.Map getCountByAttribute(java.lang.String[] layerNames,
                                            FeatureAttributeQueries queries)
引数で指定した主題属性を有する地物の件数を取得します。 指定されたレイヤ名に、対応する主題属性名が必ず存在する必要があります。

パラメータ:
layerNames - 検索対象地物レイヤ名
queries - 主題属性検索条件
戻り値:
レイヤ名をKEYとしてヒットした件数をVALUEとしたMAP 検索失敗時:null
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureByTemporal

public java.util.Collection getFeatureByTemporal(java.lang.String[] layerNames,
                                                 java.util.Date startDate,
                                                 int startDateCondition,
                                                 java.util.Date endDate,
                                                 int endDateCondition)
引数で指定された条件の地物を取得します。
開始日、終了日はpsvTMCalDate#createDate(int, int, int) で作成したものを使用して下さい.
開始日、終了日の何れかの値のみで検索する場合は、 指定しない方の時間にはnullを指定して下さい。

パラメータ:
layerNames - 検索対象レイヤ名
startDate - 開始日(以降のものを取得)
startDateCondition - FeatureSelectValueのCOMPARISON_EQUAL, COMPARISON_GREATER_THAN, COMPARISON_GREATER_THANの何れかを指定します。
COMPARISON_EQUAL 検索条件:有効期限(setQuery_Date_Start / setQuery_Date_End)に一致を指定する際の定数フィールド値です。 COMPARISON_GREATER_THANまたはCOMPARISON_LESS_THANと足し合わせることにより、以上または以下を表現できます。
COMPARISON_GREATER_THAN 検索条件:有効期限(setQuery_Date_Start / setQuery_Date_End)に大なりを指定する際の定数フィールド値です。
COMPARISON_LESS_THAN 検索条件:有効期限(setQuery_Date_Start / setQuery_Date_End)に小なりを指定する際の定数フィールド値です。
endDate - 終了日(以前のものを取得)
endDateCondition - startDateConditionを参照
戻り値:
取得した地物
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時
関連項目:
psvTMCalDate.createDate(int, int, int)

getTopologyRoute

protected java.util.Map getTopologyRoute(java.lang.String topologyLayerName,
                                         long startNodeKey,
                                         long[] endNodeKeys,
                                         long[] passedNodeKeys,
                                         double scopeMagnify,
                                         java.lang.String routeSelectClassName,
                                         java.lang.Object routeSelectClass,
                                         int featureStructType,
                                         int resultKind,
                                         boolean cacheClear,
                                         java.lang.String[] requestAttributes,
                                         boolean useEdgeGeometry,
                                         int selectRouteKind)
最短経路探索をサーバで実行し、その結果を返します。 経路選択方法の種別で「ダイクストラ法」を指定した場合は、優先判定を行いません。

パラメータ:
topologyLayerName - 検索対象の位相レイヤ名
startNodeKey - 開始ノードの地物管理キー
endNodeKeys - 終了ノードの地物管理キー(終了ノード複数指定)
passedNodeKeys - 通過ノードの地物管理キーリスト
scopeMagnify - 検索範囲倍率(開始ノード、終了ノード間の距離にかける倍率、1以上)
routeSelectClassName - 取得経路優先度設定クラスの名称
TopologyRouteSelectorOptimalPathを継承したクラス名称を指定する必要があります。
routeSelectClass - 取得経路優先度設定クラス(routeSelectClassName設定時でもこちらが優先)
TopologyRouteSelectorOptimalPathを継承したクラスを指定する必要があります。
featureStructType - 経路検索の際に使用する地物の構成を指定。 指定にはFeatureSelectValueの定数フィールド値を使用してください。 例:地物+主題属性の場合は FeatureSelectValue.REQUEST_FEATURE + FeatureSelectValue.REQUEST_ATTRIBUTE です。
resultKind - 検索結果の形式を指定します。
cacheClear - trueの場合は、最短経路検索後にキャッシュをクリアします。
requestAttributes - 検索要求対象の主題属性を設定します。
useEdgeGeometry - エッジの幾何属性を反映して経路検索を行なうかどうかを設定します。
selectRouteKind - 経路選択方法の種別を指定します。
TopologyRouteSelectValue._select_optimal_path_Dijkstra:ダイクストラ法 .
TopologyRouteSelectValue._select_optimal_path:総当り検索.
戻り値:
最短経路探索結果のMap.
Mapのキーは終点の地物管理キー(java.lang.Long)、値は経路のリスト(java.util.List)となる.
経路のリスト内容はresultKindの値に応じる。
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時
関連項目:
TopologyRouteSelectorOptimalPath, TopologyRouteSelectValue

getTopologyRoute

public java.util.Map getTopologyRoute(java.lang.String topologyLayerName,
                                      long startNodeKey,
                                      long[] endNodeKeys,
                                      long[] passedNodeKeys,
                                      double scopeMagnify,
                                      java.lang.String routeSelectClassName,
                                      int featureStructType,
                                      int resultKind,
                                      boolean cacheClear,
                                      java.lang.String[] requestAttributes,
                                      boolean useEdgeGeometry,
                                      int selectRouteKind)
最短経路探索をサーバで実行し、その結果を返します。 経路選択方法の種別で「ダイクストラ法」を指定した場合は、優先判定を行いません。

パラメータ:
topologyLayerName - 検索対象の位相レイヤ名
startNodeKey - 開始ノードの地物管理キー
endNodeKeys - 終了ノードの地物管理キー(終了ノード複数指定)
passedNodeKeys - 通過ノードの地物管理キーリスト
scopeMagnify - 検索範囲倍率(開始ノード、終了ノード間の距離にかける倍率、1以上)
routeSelectClassName - 取得経路優先度設定クラスの名称
featureStructType - 経路検索の際に使用する地物の構成を指定.
指定にはFeatureSelectValueの定数フィールド値を使用してください。 例:地物+主題属性の場合は FeatureSelectValue.REQUEST_FEATURE + FeatureSelectValue.REQUEST_ATTRIBUTE です。
resultKind - 経路検索結果種別.
経路検索結果種別により、検索結果は以下のオブジェクトが格納されます。
経路検索結果種別 結果オブジェクト
_result_node_inner_key
(ノードの地物管理キー)
java.lang.Long
_result_edge_inner_key
(エッジの地物管理キー)
java.lang.Long
_result_node_feature
(ノード地物)
jp.co.melco.preserv.spatial.psvTopologyNodeFeature
_result_edge_feature
(エッジ地物)
jp.co.melco.preserv.spatial.psvTopologyEdgeFeature
_result_route_feature
(経路上にある地物)
jp.co.melco.preserv.spatial.psvTopologyNodeFeature + jp.co.melco.preserv.spatial.psvTopologyEdgeFeature

result_route_featureの場合は、ノード→ノード間のエッジ→ノード…という順序で格納されます。
cacheClear - 経路探索キャッシュクリアフラグ.
trueを設定すると経路探索後にキャッシュがクリアされます。
※この機能は経路検索キャッシュが有効の場合のみ
requestAttributes - 経路探索時の取得主題属性指定.
指定は地物レイヤごとに行い、”地物レイヤ名=属性1,属性2,属性3,…”という文字列を1要素とした配列で指定して下さい.
指定を行わない場合はnullを指定して下さい.
※この機能は経路検索キャッシュが無効の場合のみ
useEdgeGeometry - エッジの幾何属性を使用して経路検索を行なうか指定.
使用する場合、エッジの幾何属性(psvGeometry)は以下の方法で生成される必要があります。(またはそれと同等な構造)
psvGMPosition[] pos = new psvGMPosition[座標数];
for(int i = 0 ; i < pos.length ; i++) {
double[] point_val = {X座標, Y座標, (Z座標)};
pos[i] = new psvGMPosition(new psvDirectPosition(point_val));
}
psvGeometry geometry = new psvGMCurve(new psvGMCurveSegment[]{new psvGMLineString(pos)});
selectRouteKind - 経路選択方法の種別を指定します。
TopologyRouteSelectValue._select_optimal_path_Dijkstra:ダイクストラ法 .
TopologyRouteSelectValue._select_optimal_path:総当り検索.
戻り値:
最短経路探索結果.
検索結果はresultKindの値に対応したオブジェクトを要素としたリスト(java.util.List)が値となるMapが返ります。
Mapのキーは終点の地物管理キー(java.lang.Long)となります。
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時
関連項目:
TopologyRouteSelectorOptimalPath, TopologyRouteSelectValue

getTopologyRoute

public java.util.Map getTopologyRoute(java.lang.String topologyLayerName,
                                      long startNodeKey,
                                      long[] endNodeKeys,
                                      long[] passedNodeKeys,
                                      double scopeMagnify,
                                      TopologyRouteSelectorOptimalPath routeSelectClass,
                                      int featureStructType,
                                      int resultKind,
                                      boolean cacheClear,
                                      java.lang.String[] requestAttributes,
                                      boolean useEdgeGeometry,
                                      int selectRouteKind)
最短経路探索をサーバで実行し、その結果を返します。 経路選択方法の種別で「ダイクストラ法」を指定した場合は、優先判定を行いません。

パラメータ:
topologyLayerName - 検索対象の位相レイヤ名
startNodeKey - 開始ノードの地物管理キー
endNodeKeys - 終了ノードの地物管理キー(終了ノード複数指定)
passedNodeKeys - 通過ノードの地物管理キーリスト
scopeMagnify - 検索範囲倍率(開始ノード、終了ノード間の距離にかける倍率、1以上)
routeSelectClass - 取得経路優先度設定クラス.
シリアライズされてサーバに送信されます。
featureStructType - 経路検索の際に使用する地物の構成を指定.
指定にはFeatureSelectValueの定数フィールド値を使用してください。 例:地物+主題属性の場合は FeatureSelectValue.REQUEST_FEATURE + FeatureSelectValue.REQUEST_ATTRIBUTE です。
resultKind - 経路検索結果種別.
TopologyRouteSelectValueの経路検索結果種別により、検索結果は以下のオブジェクトが格納されます。
経路検索結果種別 結果オブジェクト
_result_node_inner_key
(ノードの地物管理キー)
java.lang.Long
_result_edge_inner_key
(エッジの地物管理キー)
java.lang.Long
_result_node_feature
(ノード地物)
jp.co.melco.preserv.spatial.psvTopologyNodeFeature
_result_edge_feature
(エッジ地物)
jp.co.melco.preserv.spatial.psvTopologyEdgeFeature
_result_route_feature
(経路上にある地物)
jp.co.melco.preserv.spatial.psvTopologyNodeFeature + jp.co.melco.preserv.spatial.psvTopologyEdgeFeature

result_route_featureの場合は、ノード→ノード間のエッジ→ノード…という順序で格納されます。
cacheClear - 経路探索キャッシュクリアフラグ.
trueを設定すると経路探索後にキャッシュがクリアされます。
※この機能は経路検索キャッシュが有効の場合のみ
requestAttributes - 経路探索時の取得主題属性指定.
指定は地物レイヤごとに行い、”地物レイヤ名=属性1,属性2,属性3,…”という文字列を1要素とした配列で指定して下さい.
指定を行わない場合はnullを指定して下さい.
※この機能は経路検索キャッシュが無効の場合のみ
useEdgeGeometry - エッジの幾何属性を使用して経路検索を行なうか指定.
使用する場合、エッジの幾何属性(psvGeometry)は以下の方法で生成される必要があります。(またはそれと同等な構造)
psvGMPosition[] pos = new psvGMPosition[座標数];
for(int i = 0 ; i < pos.length ; i++) {
double[] point_val = {X座標, Y座標, (Z座標)};
pos[i] = new psvGMPosition(new psvDirectPosition(point_val));
}
psvGeometry geometry = new psvGMCurve(new psvGMCurveSegment[]{new psvGMLineString(pos)});
selectRouteKind - 経路選択方法の種別を指定します。
TopologyRouteSelectValue._select_optimal_path_Dijkstra:ダイクストラ法 .
TopologyRouteSelectValue._select_optimal_path:総当り検索.
戻り値:
最短経路探索結果.
検索結果はresultKindの値に対応したオブジェクトを要素としたリスト(java.util.List)が値となるMapが返ります。
Mapのキーは終点の地物管理キー(java.lang.Long)となります。
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時
関連項目:
TopologyRouteSelectorOptimalPath, TopologyRouteSelectValue

getRelationshipMap

public java.util.Map getRelationshipMap(long[] ids)
地物関連属性取得リクエストを作成して返します。

パラメータ:
ids - 取得対象地物関連の、地物管理キー
戻り値:
地物管理キーと地物関連を関連付けたMap(キー:内部ID(Long) 値:psvRelationship[])
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureAttributeDefinitions

public psvAttributeDefinitions getFeatureAttributeDefinitions()
地物レイヤの主題属性名一覧を返します。

戻り値:
地物レイヤの主題属性名一覧
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getFeatureSchemaMap

public java.util.Map getFeatureSchemaMap()
レイヤ名称と地物スキーマ(String)の関連Mapを返します。

戻り値:
レイヤ名称と地物スキーマ(String)の関連Map
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

getIntersection

public java.util.Collection getIntersection(java.lang.String[] layerNames,
                                            jp.co.melco.preserv.psvRegion region)
指定レイヤにおいて、指定領域と交差する全地物をデータベースから取得します。

パラメータ:
layerNames - 検索対象のレイヤ名称リスト(要素:psvFeature)(nullの場合全レイヤ)
region - 交差判定対象領域
戻り値:
条件を満たす全地物のリスト。(要素:psvFeature)

getIntersection

protected java.util.Collection getIntersection(java.util.Collection target,
                                               java.lang.String[] layerNames,
                                               jp.co.melco.preserv.psvRegion region)
指定レイヤにおいて、指定領域と交差する全地物を取得します。
位相が持つ地物は加味しません。

パラメータ:
target - 検索ターゲット地物集合(要素:psvFeature)(nullの場合空間DBがターゲット)
layerNames - 検索対象の地物レイヤ名称リスト(nullの場合全レイヤ)
region - 交差判定対象領域
戻り値:
条件を満たす全地物のリスト。(要素:psvFeature)