jp.co.melco.preserv.spatial.geometry
クラス psvGMPointArray

java.lang.Object
  拡張jp.co.melco.preserv.spatial.geometry.psvGMPointArray
すべての実装インタフェース:
java.io.Serializable

public class psvGMPointArray
extends java.lang.Object
implements java.io.Serializable

点配列を表すデータ型です。
地理情報標準の空間スキーマにおけるGM_PointArrayクラスに対応します。
コンストラクタ、又はsetColumnでdouble配列を指定した場合は、 内部で座標のみを持つ簡易構造となり、メモリ効率が高くなります。

簡易構造の場合、getColumnメソッドが呼ばれた時点では、JPGIS対応の構造を生成するのみです。 setColumn(psvGMPosition[])を使用して設定した後、簡易構造は破棄されJPGIS構造となります。
setColumn(psvGMPosition[])は、座標以外の情報が必要になった場合等に用いられると想定されています。
getCoordinateCount,getX,getY,getZ,hasZCoordinateを使用すれば 簡易構造、JPGIS構造を気にする事無く座標にアクセスでき、 簡易構造からJPGIS構造が生成される事はありません。

導入されたバージョン:
Ver.6.0
作成者:
PreSerV Development Team
関連項目:
getColumn(), setColumn(psvGMPosition[]), getCoordinateCount(), getX(int), getY(int), getZ(int), hasZCoordinate(int), 直列化された形式

入れ子クラスの概要
static interface psvGMPointArray.GMPointArray
           psvGMPointArray実装インタフェース 説明: psvGMPointArrayの内部処理をインタフェース化したものです
static class psvGMPointArray.GMPointArrayEasyImpl
           psvGMPointArray 簡易実装クラス 説明: psvGMPointArrayの簡易実装クラスです。
static class psvGMPointArray.GMPointArrayImpl
           psvGMPointArray JPGIS対応構造実装クラス 説明: psvGMPointArrayのJPGIS対応構造実装クラスです。
 
コンストラクタの概要
psvGMPointArray()
          点配列データ型を生成します。
psvGMPointArray(double[] xCoordinates, double[] yCoordinates)
          指定された位置の配列を保持する点配列データ型を簡易構造で生成します。
psvGMPointArray(double[] xCoordinates, double[] yCoordinates, double[] zCoordinates)
          指定された位置の配列を保持する点配列データ型を簡易構造で生成します。
psvGMPointArray(psvGMPosition[] column)
          指定された位置の配列を保持する点配列データ型をJPGIS対応構造で生成します。
 
メソッドの概要
protected  psvGMPointArray createReversePointArray()
          本クラスの座標配列順序を逆にしたインスタンスを作成して返します。
 boolean equals(java.lang.Object other)
          このオブジェクトと他のオブジェクトが等しいかどうかを示します。
 void fixed()
          幾何属性の編集が確定したことを通知します。
 psvGMPosition[] getColumn()
          位置の配列を取得します。
 int getCoordinateCount()
          座標数を返します。
 double getX(int coordinateIndex)
          coordinateIndexで指定した座標のx座標を返します。
 double getY(int coordinateIndex)
          coordinateIndexで指定した座標のy座標を返します。
 double getZ(int coordinateIndex)
          coordinateIndexで指定した座標のz座標を返します。
 boolean hasZCoordinate(int coordinateIndex)
          coordinateIndexで指定した座標がz座標を持つかを返します。
 boolean isEasyStructure()
          座標が簡易構造で保持されているかを返します。
 boolean isModified()
          幾何属性の編集が行われたか否かを取得します。
 void modified()
          幾何属性が編集されたことを通知します。
 void setColumn(double[] xCoordinates, double[] yCoordinates)
          位置の配列を設定します。
 void setColumn(double[] xCoordinates, double[] yCoordinates, double[] zCoordinates)
          位置の配列を設定します。
 void setColumn(psvGMPosition[] column)
          位置の配列を設定します。
 java.lang.String toString()
          オブジェクトの文字列表現を返します。
 void translate(double dx, double dy)
          現在の座標値を指定された移動量だけ移動します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

psvGMPointArray

public psvGMPointArray()
点配列データ型を生成します。


psvGMPointArray

public psvGMPointArray(psvGMPosition[] column)
指定された位置の配列を保持する点配列データ型をJPGIS対応構造で生成します。
内部でsetColumnメソッドを呼び出します。
そのため引数がnullの場合はIllegalArgumentExceptionがスローされます。

パラメータ:
column - 初期化する位置の配列

psvGMPointArray

public psvGMPointArray(double[] xCoordinates,
                       double[] yCoordinates)
指定された位置の配列を保持する点配列データ型を簡易構造で生成します。
内部でpsvDirectPositionが要素となるpsvGMPositionの配列相当の座標情報を保持します。
座標数はxCoordinatesとyCoordinatesのlengthのうち、より小さい方の値となります。

パラメータ:
xCoordinates - 初期化する位置のx座標配列
yCoordinates - 初期化する位置のy座標配列
例外:
java.lang.IllegalArgumentException - 座標にnullが指定された場合、座標数が0の場合

psvGMPointArray

public psvGMPointArray(double[] xCoordinates,
                       double[] yCoordinates,
                       double[] zCoordinates)
指定された位置の配列を保持する点配列データ型を簡易構造で生成します。
内部でpsvDirectPositionが要素となるpsvGMPositionの配列相当の座標情報を保持します。
座標数はxCoordinatesとyCoordinatesのlength、zCoordinate.lengthのうち、より小さい方の値となります。

パラメータ:
xCoordinates - 初期化する位置のx座標配列
yCoordinates - 初期化する位置のy座標配列
zCoordinates - 初期化する位置のz座標配列
例外:
java.lang.IllegalArgumentException - 座標にnullが指定された場合、座標数が0の場合
メソッドの詳細

getColumn

public psvGMPosition[] getColumn()
位置の配列を取得します。
未設定の場合はnullが返ります。
内部で座標が簡易構造で扱われている場合は、本メソッドが呼ばれるとJPGIS対応の構造を作成して返します。
取得した位置の配列を、setColumn(psvGMPosition[])で設定した後に簡易構造は破棄されます。

戻り値:
位置配列
関連項目:
setColumn(psvGMPosition[])

setColumn

public void setColumn(double[] xCoordinates,
                      double[] yCoordinates)
位置の配列を設定します。
本メソッド設定した場合は、座標は簡易構造で扱われます。
null 又は 長さが0の配列が指定された場合はIllegalArgumentExceptionをスローします。

パラメータ:
xCoordinates - 位置のx座標配列
yCoordinates - 位置のy座標配列

setColumn

public void setColumn(double[] xCoordinates,
                      double[] yCoordinates,
                      double[] zCoordinates)
位置の配列を設定します。
本メソッド設定した場合は、座標は簡易構造で扱われます。
null 又は 長さが0の配列が指定された場合はIllegalArgumentExceptionをスローします。

パラメータ:
xCoordinates - 位置のx座標配列
yCoordinates - 位置のy座標配列
zCoordinates - 位置のz座標配列

setColumn

public void setColumn(psvGMPosition[] column)
位置の配列を設定します。
本メソッド設定した場合は、座標はJPGIS構造で扱われます。
null 又は 長さが0の配列が指定された場合はIllegalArgumentExceptionをスローします。

パラメータ:
column - 位置の配列

equals

public boolean equals(java.lang.Object other)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。

パラメータ:
other - 比較対象の参照オブジェクト
戻り値:
other 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、
そうでない場合は false
関連項目:
Object.equals(java.lang.Object)

toString

public java.lang.String toString()
オブジェクトの文字列表現を返します。

戻り値:
このオブジェクトの文字列表現
関連項目:
Object.toString()

translate

public void translate(double dx,
                      double dy)
現在の座標値を指定された移動量だけ移動します。

パラメータ:
dx - X軸方向の移動量
dy - Y軸方向の移動量

modified

public void modified()
幾何属性が編集されたことを通知します。


fixed

public void fixed()
幾何属性の編集が確定したことを通知します。
本メソッドはオプション内部で使用するキャッシュ管理の仕組み上で呼び出されるAPIであり、 ユーザが呼び出すべきではありません。
ただしキャッシュに依存する幾何属性(オブジェクト)を独自に追加した場合は 本メソッドをオーバライドし、当該オブジェクトに対してfixedメソッドを呼び出す必要があります。


isModified

public boolean isModified()
幾何属性の編集が行われたか否かを取得します。
編集が行われた場合はtrue、それ以外の場合はfalseを返します。
幾何属性の編集の有無の判定は再帰的に自身の属性として設定されたオブジェクトに対しても 行います。

戻り値:
編集が行われた場合はtrue、それ以外の場合はfalse

getCoordinateCount

public int getCoordinateCount()
座標数を返します。

戻り値:
座標数

hasZCoordinate

public boolean hasZCoordinate(int coordinateIndex)
coordinateIndexで指定した座標がz座標を持つかを返します。

戻り値:
coordinateIndexで指定された座標がz座標を持つか

getX

public double getX(int coordinateIndex)
coordinateIndexで指定した座標のx座標を返します。

パラメータ:
coordinateIndex - 何番目の座標かを指定
戻り値:
coordinateIndexで指定された座標のx座標

getY

public double getY(int coordinateIndex)
coordinateIndexで指定した座標のy座標を返します。

パラメータ:
coordinateIndex - 何番目の座標かを指定
戻り値:
coordinateIndexで指定された座標のy座標

getZ

public double getZ(int coordinateIndex)
coordinateIndexで指定した座標のz座標を返します。
但し、z座標を持たない場合は0を返します。

パラメータ:
coordinateIndex - 何番目の座標かを指定
戻り値:
coordinateIndexで指定された座標のz座標
関連項目:
hasZCoordinate(int)

isEasyStructure

public boolean isEasyStructure()
座標が簡易構造で保持されているかを返します。

戻り値:
true:簡易構造である false:簡易構造ではない

createReversePointArray

protected psvGMPointArray createReversePointArray()
本クラスの座標配列順序を逆にしたインスタンスを作成して返します。

戻り値:
作成された座標配列順序が逆のインスタンス
例外:
java.lang.IllegalStateException