jp.co.melco.preserv.spatial
クラス psvFeatureMap.FeatureContainer

java.lang.Object
  拡張jp.co.melco.preserv.psvRange
      拡張jp.co.melco.preserv.psvAnyMap
          拡張jp.co.melco.preserv.psvVectorMap
              拡張jp.co.melco.preserv.spatial.psvFeatureMap.FeatureContainer
すべての実装インタフェース:
java.lang.Cloneable, jp.co.melco.preserv.psvContainable, psvFeatureMap.FeatureContainable, psvMapReloadable, jp.co.melco.preserv.psvTransfer, java.lang.Runnable, java.io.Serializable
直系の既知のサブクラス:
psvAbstractKeyHashedFeatureContainer
含まれているクラス:
psvFeatureMap

protected static class psvFeatureMap.FeatureContainer
extends jp.co.melco.preserv.psvVectorMap
implements psvFeatureMap.FeatureContainable, psvMapReloadable

レイヤ単位の地物を管理するマップです。

導入されたバージョン:
Ver.6.0
作成者:
PreSerV Development Team
関連項目:
直列化された形式

フィールドの概要
protected  psvSpatialLayerAttribAccessible context
          レイヤ情報を管理するオブジェクトです。
protected  psvFeatureMap.FeatureLoadable loader
          地物の読込みを行うオブジェクトです。
protected  java.util.List loadListenerList
          地物読み込みリスナリストです。
protected  psvReloadEventListener reloadEventListener
          リロードイベント通知を行うリスナオブジェクトです。
protected  java.lang.Object sync
          同期用オブジェクトです。
 
クラス jp.co.melco.preserv.psvAnyMap から継承したフィールド
_attrib, _chk_thread, _conv, _layer, _map_screen, _select, _trans, _xmargin, _ymargin, array, failListenerList, MAP_ACTIVE_SIZE, MAP_AUTO_LOAD, MAP_PREDICTIVE, MAP_VISIBLE, mapbox, PSV_PRE_THREAD
 
クラス jp.co.melco.preserv.psvRange から継承したフィールド
max, min
 
コンストラクタの概要
psvFeatureMap.FeatureContainer(psvFeatureMap.FeatureLoadable loader)
          レイヤ単位の地物管理を行うマップを生成します。
 
メソッドの概要
 psvFeature addFeature(psvFeature feature)
          地物を追加します。
protected  boolean addFeature(psvFeature feature, jp.co.melco.preserv.psvTree insertTree)
          地物をツリーに追加します。
 void addLoadListener(psvSpatialLoadEventListener listener)
          地物読み込みリスナを追加します。
protected  void addTree(jp.co.melco.preserv.psvTree tree)
          psvTreeオブジェクトの登録を行い、領域をマップの矩形情報に追加します。
 jp.co.melco.preserv.psvVectorMap asVectorMap()
          対応するベクタマップを取得します。
 void clearMapData(java.lang.Object[] meshIds)
          指定されたメッシュIDに対応した地図データを消去します。
 java.util.Collection collectIntersectsShapes(jp.co.melco.preserv.psvRegion region)
          指定された領域と交差する地物の一覧を取得します。
 double collectNearestFeatures(double x, double y, java.util.Collection features)
          指定された座標に最も近い地物を取得します。
protected  java.util.Collection collectShapes(jp.co.melco.preserv.psvSelect select)
          指定された検索条件に該当する地物の一覧を取得します。
 java.util.Collection collectVisibleShapes(jp.co.melco.preserv.psvRegion region, int scale)
          指定されたスクリーン情報で指定された領域に表示される地物の一覧を取得します。
protected  java.util.List createClearFeatureStack()
          消去地物スタックを作成します。
protected  jp.co.melco.preserv.spatial.psvFeatureMap.SearchedShapeAccessible createShapeCollector(jp.co.melco.preserv.psvSelect select, boolean priority)
          検索結果の地物一覧が取得可能な検索オブジェクトを生成します。
protected  jp.co.melco.preserv.psvTree createTree(java.lang.Object meshId)
          指定されたメッシュIDを持つpsvTreeを生成して返します。
protected  boolean doLoadMeshes(java.lang.Object[] meshIDs)
          指定されたメッシュ番号の地図データを同期無しで読み込みます。
 psvFeature getContainedFeature(java.lang.Long internalKey)
          internalKeyで指定された地物が、本クラスで管理されていれば、その地物を返します。
protected  psvFeature getFeature(jp.co.melco.preserv.psvTree tree, long targetKey)
          指定されたツリーから指定された地物管理キーを持つ地物を取得します。
protected  java.lang.Object[] getLoadNotYetMeshes(double sx, double sy, double ex, double ey)
          指定された領域の中でメッシュの完全な読み込みが行われていないメッシュIDの一覧を取得します。
protected  java.lang.Object[] getLoadNotYetMeshes(java.lang.Object[] meshes)
          指定されたメッシュIDの中でメッシュの完全な読み込みが行われていないメッシュIDの一覧を取得します。
 psvSpatialLayerAttribAccessible getSpatialLayerContext()
          レイヤ情報管理オブジェクトを取得します。
protected  jp.co.melco.preserv.psvTree getTree(java.lang.Object meshId)
          指定されたmeshIdに対応するpsvTreeを返します。
protected  jp.co.melco.preserv.psvTree getTree(java.lang.Object meshId, boolean create)
          指定されたmeshIdに対応するpsvTreeを返します。
protected  jp.co.melco.preserv.psvSelect getVisibleSelect(jp.co.melco.preserv.psvRegion region, int scale)
          指定された領域・スケールで可視となる地物を検索するための検索条件オブジェクトを取得します。
 boolean isContainedFeature(java.lang.Long internalKey)
          internalKeyで指定された地物が、本クラスが管理しているかを返します。
 boolean load_sub(double sx, double sy, double ex, double ey)
          sx,sy,ex,eyで囲まれた矩形の地図データを読み込みます。
protected  void loadMapData(java.lang.Object[] meshIds)
          指定されたメッシュIDに対応した地図データを読み込みます。
 boolean loadMeshes(java.lang.Object[] meshIDs)
          指定されたメッシュ番号の地図データを同期有りで読み込みます。
 void minimumLoad(jp.co.melco.preserv.psvRegionBounds rbound)
          最小限のロード処理を行います。
protected  void notifyCleared(java.util.List clearedFeatureList, jp.co.melco.preserv.psvTree tree)
          removeTreeで削除された地物を通知します。
protected  void notifyClearedFeature(jp.co.melco.preserv.psvTree tree)
          removeTreeで削除された地物を通知します。
protected  void notifyLoaded(java.lang.String[] layerNames, java.lang.Object[] meshIDs, jp.co.melco.preserv.psvMapIF mesh)
          地物が読み込まれた事を通知します。
protected  void notifyWillLoad(java.lang.String[] layerNames, java.lang.Object[] meshIDs, jp.co.melco.preserv.psvMapIF mesh)
          地物が読み込まれる事を通知します。
protected  void pre_check_area(jp.co.melco.preserv.psvRegionBounds rbound)
           
 void releaseReloadEventListener()
          設定されたリロードイベント通知リスナを解除します。
 boolean reload_all()
          即読みメッシュに所属する図形オブジェクトを全て読み直します。
 boolean reloadArea(jp.co.melco.preserv.psvRegionBounds reloadArea)
          指定領域に含まれる即読みメッシュに所属する図形オブジェクトを全て読み直します。
 boolean removeFeature(psvFeature feature)
          地物を削除します。
protected  boolean removeFeature(psvFeature feature, jp.co.melco.preserv.psvTree removeTree)
          地物をツリーから削除します。
 boolean removeLoadListener(psvSpatialLoadEventListener listener)
          地物読み込みリスナを削除します。
protected  void removeTree(jp.co.melco.preserv.psvTree tree)
          psvTreeオブジェクトの削除を行い、領域をマップの矩形情報から除きます。
 boolean search(jp.co.melco.preserv.psvSearchable args)
           
 void setReloadEventListener(psvReloadEventListener reloadEventListener)
          リロードイベント通知リスナを設定します。
 void setSpatialLayerContext(psvSpatialLayerAttribAccessible context)
          レイヤ情報管理オブジェクトを設定します。
 
クラス jp.co.melco.preserv.psvVectorMap から継承したメソッド
addTreeForce, already_loadp, create_elem, delete_elem, distance, draw, rehash_bbox, search_candidate, search_nearest, search_tree
 
クラス jp.co.melco.preserv.psvAnyMap から継承したメソッド
active_size, addFailListener, attrib, attrib, auto_load, check_area, connect, disconnect, fireOccuredError, fireOccuredException, flush, getConvert, getInputStream, getOutputStream, getSelect, layer, layer, load, max_num, max_num, predictive, recv, reload, remake_box, removeFailListener, run, send, send, setConvert, setParameter, setScreen, setSelect, thread_check_area, visible, xmargin, xmargin, ymargin, ymargin
 
クラス jp.co.melco.preserv.psvRange から継承したメソッド
clone, get_max, get_min, inner, readExternal, set, toString, writeExternal
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

loader

protected psvFeatureMap.FeatureLoadable loader
地物の読込みを行うオブジェクトです。


context

protected psvSpatialLayerAttribAccessible context
レイヤ情報を管理するオブジェクトです。


reloadEventListener

protected psvReloadEventListener reloadEventListener
リロードイベント通知を行うリスナオブジェクトです。


loadListenerList

protected java.util.List loadListenerList
地物読み込みリスナリストです。


sync

protected final java.lang.Object sync
同期用オブジェクトです。

コンストラクタの詳細

psvFeatureMap.FeatureContainer

public psvFeatureMap.FeatureContainer(psvFeatureMap.FeatureLoadable loader)
レイヤ単位の地物管理を行うマップを生成します。

パラメータ:
loader - 未取得の地物の読込み処理を行うオブジェクト
メソッドの詳細

asVectorMap

public jp.co.melco.preserv.psvVectorMap asVectorMap()
対応するベクタマップを取得します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の asVectorMap
戻り値:
対応するベクタマップ
関連項目:
psvFeatureMap.FeatureContainable.asVectorMap()

setSpatialLayerContext

public void setSpatialLayerContext(psvSpatialLayerAttribAccessible context)
レイヤ情報管理オブジェクトを設定します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の setSpatialLayerContext
パラメータ:
context - レイヤ情報管理オブジェクト
関連項目:
psvFeatureMap.FeatureContainable.setSpatialLayerContext(jp.co.melco.preserv.spatial.psvSpatialLayerAttribAccessible)

getSpatialLayerContext

public psvSpatialLayerAttribAccessible getSpatialLayerContext()
レイヤ情報管理オブジェクトを取得します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の getSpatialLayerContext
戻り値:
レイヤ情報管理オブジェクト
関連項目:
psvFeatureMap.FeatureContainable.getSpatialLayerContext()

load_sub

public boolean load_sub(double sx,
                        double sy,
                        double ex,
                        double ey)
                 throws java.lang.Exception
sx,sy,ex,eyで囲まれた矩形の地図データを読み込みます。
ただし完全に読み込み済みのメッシュの再読込は行いません。

パラメータ:
sx - 読み込み矩形開始座標x
sy - 読み込み矩形開始座標y
ex - 読み込み矩形終了座標x
ey - 読み込み矩形終了座標y
戻り値:
読み込み成功:true 失敗:false
例外:
java.lang.Exception - 地図データ読み込み失敗時

loadMeshes

public boolean loadMeshes(java.lang.Object[] meshIDs)
指定されたメッシュ番号の地図データを同期有りで読み込みます。

定義:
インタフェース psvMapReloadable 内の loadMeshes
パラメータ:
meshIDs - 読み込みメッシュ番号
戻り値:
読み込み成功:true 失敗:false

doLoadMeshes

protected boolean doLoadMeshes(java.lang.Object[] meshIDs)
指定されたメッシュ番号の地図データを同期無しで読み込みます。

パラメータ:
meshIDs - 読み込みメッシュ番号
戻り値:
読み込み成功:true 失敗:false

getLoadNotYetMeshes

protected java.lang.Object[] getLoadNotYetMeshes(double sx,
                                                 double sy,
                                                 double ex,
                                                 double ey)
指定された領域の中でメッシュの完全な読み込みが行われていないメッシュIDの一覧を取得します。

パラメータ:
sx - 検査対象の矩形開始座標x
sy - 検査対象の矩形開始座標y
ex - 検査対象の矩形終了座標x
ey - 検査対象の矩形終了座標y
戻り値:
メッシュの完全な読み込みがまだのメッシュIDの一覧

getLoadNotYetMeshes

protected java.lang.Object[] getLoadNotYetMeshes(java.lang.Object[] meshes)
指定されたメッシュIDの中でメッシュの完全な読み込みが行われていないメッシュIDの一覧を取得します。

パラメータ:
meshes - メッシュID
戻り値:
メッシュの完全な読み込みがまだのメッシュIDの一覧

addFeature

public psvFeature addFeature(psvFeature feature)
地物を追加します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の addFeature
パラメータ:
feature - 追加する地物
戻り値:
登録された地物。登録に失敗した場合:null 登録済みの場合:登録済みの当該地物
関連項目:
psvFeatureMap.FeatureContainable.addFeature(jp.co.melco.preserv.spatial.psvFeature)

addFeature

protected boolean addFeature(psvFeature feature,
                             jp.co.melco.preserv.psvTree insertTree)
地物をツリーに追加します。

パラメータ:
feature - 追加する地物
insertTree - 追加対象のツリー
戻り値:
psvTree#insert_dataの戻り値

getFeature

protected psvFeature getFeature(jp.co.melco.preserv.psvTree tree,
                                long targetKey)
指定されたツリーから指定された地物管理キーを持つ地物を取得します。
未登録の場合はnullを返します。

パラメータ:
tree - 検索対象のツリー
targetKey - 検索する地物管理キー
戻り値:
登録済みの場合は登録済みの地物、それ以外の場合はnull

isContainedFeature

public boolean isContainedFeature(java.lang.Long internalKey)
internalKeyで指定された地物が、本クラスが管理しているかを返します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の isContainedFeature
パラメータ:
internalKey - 地物管理キー
戻り値:
管理されている:true そうでない:false

getContainedFeature

public psvFeature getContainedFeature(java.lang.Long internalKey)
internalKeyで指定された地物が、本クラスで管理されていれば、その地物を返します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の getContainedFeature
パラメータ:
internalKey - 地物管理キー
戻り値:
管理されている地物(無い場合はnull)

removeFeature

public boolean removeFeature(psvFeature feature)
地物を削除します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の removeFeature
パラメータ:
feature - 削除する地物
戻り値:
削除に成功した場合はtrue、それ以外の場合はfalse
関連項目:
psvFeatureMap.FeatureContainable.removeFeature(jp.co.melco.preserv.spatial.psvFeature)

removeFeature

protected boolean removeFeature(psvFeature feature,
                                jp.co.melco.preserv.psvTree removeTree)
地物をツリーから削除します。

パラメータ:
feature - 削除する地物
removeTree - 削除対象ツリー
戻り値:
psvTree#erase_dataの結果

addTree

protected void addTree(jp.co.melco.preserv.psvTree tree)
psvTreeオブジェクトの登録を行い、領域をマップの矩形情報に追加します。 重複チェックを行い、重複なしの場合addTreeFoece(psvTree)メソッドを呼び出し 登録を行います。メッシュ名の指定が無い場合、登録を行います。

パラメータ:
tree - psvTreeオブジェクト
関連項目:
psvVectorMap.addTree(jp.co.melco.preserv.psvTree)

removeTree

protected void removeTree(jp.co.melco.preserv.psvTree tree)
psvTreeオブジェクトの削除を行い、領域をマップの矩形情報から除きます。

パラメータ:
tree - psvTreeオブジェクト
関連項目:
psvVectorMap.removeTree(jp.co.melco.preserv.psvTree)

getTree

protected jp.co.melco.preserv.psvTree getTree(java.lang.Object meshId)
指定されたmeshIdに対応するpsvTreeを返します。
生成されていない場合は null が返ります。

パラメータ:
meshId - メッシュID
戻り値:
メッシュIDに対応したpsvTree. なければnull
関連項目:
getTree(Object, boolean)

getTree

protected jp.co.melco.preserv.psvTree getTree(java.lang.Object meshId,
                                              boolean create)
指定されたmeshIdに対応するpsvTreeを返します。
生成前で且つ createが true の場合は新規に生成して返します。
生成前で且つ createが falseの場合は null を返します。

パラメータ:
meshId - メッシュID
create - 生成方法判定フラグ
戻り値:
メッシュIDに対応したpsvTree. 生成前で create が falseの場合は null

createTree

protected jp.co.melco.preserv.psvTree createTree(java.lang.Object meshId)
指定されたメッシュIDを持つpsvTreeを生成して返します。
生成されたpsvTreeは、内部管理用のpsvTreeの一覧(array属性)にも登録されます。

パラメータ:
meshId - メッシュID
戻り値:
対応するpsvTree

loadMapData

protected void loadMapData(java.lang.Object[] meshIds)
指定されたメッシュIDに対応した地図データを読み込みます。

パラメータ:
meshIds - メッシュID

createClearFeatureStack

protected java.util.List createClearFeatureStack()
消去地物スタックを作成します。

戻り値:
消去地物スタック

clearMapData

public void clearMapData(java.lang.Object[] meshIds)
指定されたメッシュIDに対応した地図データを消去します。

定義:
インタフェース psvMapReloadable 内の clearMapData
パラメータ:
meshIds - メッシュID

collectIntersectsShapes

public java.util.Collection collectIntersectsShapes(jp.co.melco.preserv.psvRegion region)
指定された領域と交差する地物の一覧を取得します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の collectIntersectsShapes
パラメータ:
region - 領域
戻り値:
条件に該当する地物の一覧
関連項目:
psvFeatureMap.FeatureContainable.collectIntersectsShapes(jp.co.melco.preserv.psvRegion)

collectVisibleShapes

public java.util.Collection collectVisibleShapes(jp.co.melco.preserv.psvRegion region,
                                                 int scale)
指定されたスクリーン情報で指定された領域に表示される地物の一覧を取得します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の collectVisibleShapes
パラメータ:
region - 領域
scale - スケール
戻り値:
条件に該当する地物の一覧
関連項目:
psvFeatureMap.FeatureContainable.collectVisibleShapes(jp.co.melco.preserv.psvRegion, int)

collectShapes

protected java.util.Collection collectShapes(jp.co.melco.preserv.psvSelect select)
指定された検索条件に該当する地物の一覧を取得します。
必要な読込み処理はすでに完了しているものとします。

パラメータ:
select - 検索条件
戻り値:
条件に該当する地物一覧

createShapeCollector

protected jp.co.melco.preserv.spatial.psvFeatureMap.SearchedShapeAccessible createShapeCollector(jp.co.melco.preserv.psvSelect select,
                                                                                                 boolean priority)
検索結果の地物一覧が取得可能な検索オブジェクトを生成します。

パラメータ:
select - 検索条件
priority - プライオリティ
戻り値:
検索オブジェクト

getVisibleSelect

protected jp.co.melco.preserv.psvSelect getVisibleSelect(jp.co.melco.preserv.psvRegion region,
                                                         int scale)
指定された領域・スケールで可視となる地物を検索するための検索条件オブジェクトを取得します。

パラメータ:
region - 領域
scale - スケール
戻り値:
検索条件オブジェクト

minimumLoad

public void minimumLoad(jp.co.melco.preserv.psvRegionBounds rbound)
最小限のロード処理を行います。

パラメータ:
rbound - ロード対象の領域

collectNearestFeatures

public double collectNearestFeatures(double x,
                                     double y,
                                     java.util.Collection features)
指定された座標に最も近い地物を取得します。
同じ距離に複数の地物が存在した場合はそのすべてを取得します。
検索結果の地物は引数で指定された features に追加し、その距離を戻り値として返します。
一方、結果の地物が存在しない場合は features は操作せず、Double.MAX_VALUE を返します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の collectNearestFeatures
パラメータ:
x - X座標値
y - Y座標値
戻り値:
指定座標に最も近い地物の距離. 存在しない場合は Double.MAX_VALUE.
関連項目:
psvFeatureMap.FeatureContainable.collectNearestFeatures(double, double, java.util.Collection)

notifyClearedFeature

protected void notifyClearedFeature(jp.co.melco.preserv.psvTree tree)
removeTreeで削除された地物を通知します。

パラメータ:
tree - removeTreeで削除されたツリー

notifyCleared

protected void notifyCleared(java.util.List clearedFeatureList,
                             jp.co.melco.preserv.psvTree tree)
removeTreeで削除された地物を通知します。

パラメータ:
clearedFeatureList - クリアされた地物リスト
tree - 削除されるツリー

reload_all

public boolean reload_all()
即読みメッシュに所属する図形オブジェクトを全て読み直します。

定義:
インタフェース jp.co.melco.preserv.psvContainable 内の reload_all
戻り値:
true:成功した場合、false:失敗した場合
関連項目:
psvContainable.reload_all()

reloadArea

public boolean reloadArea(jp.co.melco.preserv.psvRegionBounds reloadArea)
指定領域に含まれる即読みメッシュに所属する図形オブジェクトを全て読み直します。

定義:
インタフェース jp.co.melco.preserv.psvContainable 内の reloadArea
パラメータ:
reloadArea - 再読込み対象領域
戻り値:
true:成功した場合、false:失敗した場合
関連項目:
psvContainable.reloadArea(jp.co.melco.preserv.psvRegionBounds)

setReloadEventListener

public void setReloadEventListener(psvReloadEventListener reloadEventListener)
リロードイベント通知リスナを設定します。

定義:
インタフェース psvMapReloadable 内の setReloadEventListener
パラメータ:
reloadEventListener - リロードイベント通知リスナ
関連項目:
psvMapReloadable.setReloadEventListener(jp.co.melco.preserv.spatial.psvReloadEventListener)

releaseReloadEventListener

public void releaseReloadEventListener()
設定されたリロードイベント通知リスナを解除します。

定義:
インタフェース psvMapReloadable 内の releaseReloadEventListener
関連項目:
psvMapReloadable.releaseReloadEventListener()

pre_check_area

protected void pre_check_area(jp.co.melco.preserv.psvRegionBounds rbound)

search

public boolean search(jp.co.melco.preserv.psvSearchable args)
定義:
インタフェース jp.co.melco.preserv.psvContainable 内の search

addLoadListener

public void addLoadListener(psvSpatialLoadEventListener listener)
インタフェース psvFeatureMap.FeatureContainable の記述:
地物読み込みリスナを追加します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の addLoadListener
パラメータ:
listener - 地物読み込みリスナ

removeLoadListener

public boolean removeLoadListener(psvSpatialLoadEventListener listener)
インタフェース psvFeatureMap.FeatureContainable の記述:
地物読み込みリスナを削除します。

定義:
インタフェース psvFeatureMap.FeatureContainable 内の removeLoadListener
パラメータ:
listener - 地物読み込みリスナ

notifyWillLoad

protected void notifyWillLoad(java.lang.String[] layerNames,
                              java.lang.Object[] meshIDs,
                              jp.co.melco.preserv.psvMapIF mesh)
地物が読み込まれる事を通知します。

パラメータ:
layerNames - 読み込みレイヤ名
meshIDs - 読み込みメッシュID
mesh - 読み込みメッシュ定義

notifyLoaded

protected void notifyLoaded(java.lang.String[] layerNames,
                            java.lang.Object[] meshIDs,
                            jp.co.melco.preserv.psvMapIF mesh)
地物が読み込まれた事を通知します。

パラメータ:
layerNames - 読み込みレイヤ名
meshIDs - 読み込みメッシュID
mesh - 読み込みメッシュ定義