oraclesai.SpatialDataFrame

class SpatialDataFrame

データのロケーションに関係なく、データがメモリー内にあるかのように空間ベクトル・データを処理するためのパンダのようなインタフェース。

SpatialDataFrameのインスタンスは、createメソッドを使用して作成されます。

createメソッドは、プロキシに関連付けるデータセットを記述するために使用されるoraclesai.SpatialDatasetのインスタンスを取り込みます。

次の例は、Oracleデータベースの空間表に対してSpatialDataFrameを作成する方法を示しています。

>>> from oraclesai import SpatialDataFrame, DBSpatialDataset
>>> dataset = DBSpatialDataset(cursor=oracledb_cursor, table='chicago_accidents')
>>> sdf = SpatialDataFrame.create(dataset)
>>> sdf.head()
            OGR_FID   REPORT_TYP                    geometry
0           657       ON SCENE                      POINT (-9755760.901 5133215.436)
1           659       ON SCENE                      POINT (-9758088.412 5156991.966)
            661       NOT ON SCENE (DESK REPORT)    POINT (-9758162.478 5125561.017)

より多くのSpatialDataset実装を使用して、Oracle Object Storage、ローカル・ファイル、および既存のgeopandas.GeoDataFrameからデータをロードできます。

SpatialDataFrameのインスタンスが作成されると、空間変換を適用するために使用できます。 データがOracleデータベースにある場合は、空間操作の実行にデータベース内のOracle Spatialエンジンが使用されます。

SpatialDataFrameは不変であるため、各変換はSpatialDataFrameの新しいインスタンスになります。

Oracleデータベースに存在するデータに対してSpatialDataFrameが作成されると、データがメモリーで必要になるまで(たとえば、oraclesai.SpatialDataFrame.as_geodataframe()またはoraclesai.SpatialDataFrame.head()をコールしてgeopandas.GeoDataFrameに変換される場合や、Oracle Object Storageなどの別のソースにデータが書き込まれるとき、またはメソッドoraclesai.SpatialDataFrame.write()を使用してファイル・システムにデータが書き込まれるときなど)、データがダウンロード(マテリアライズド)されます。

メソッド

__init__(dataset)

add_column(column_name, series)

シリーズを新しい列として現在のプロキシに追加します。

area([tolerance, area_col])

現在のSpatialDataFrameから各ジオメトリの領域を取得します。

as_geodataframe()

現在のSpatialDataFrameをgeopandas.GeoDataFrameに変換します。

as_oml_dataframe()

現在のSpatialDataFrameをoml.DataFrameのインスタンスに変換

buffer(distance)

各ジオメトリの周囲にバッファを作成します。

combine(tgt[, combine_op, tolerance, how, ...])

現在のSpatialDataFrameのジオメトリをtgtのジオメトリと組み合せます。

create(dataset)

データセット・タイプに基づいてSpatialDataFrameインスタンスを作成します。

distance(qry_win[, distance_col, tolerance, ...])

現在のSpatialDataFrameからqry_winまでのジオメトリ間の距離を取得します。

drop(columns)

columnsパラメータで列を指定せずに、新しいSpatialDataFrameを返します。

dropna()

欠落値を含む行を削除します。

filter(qry_win[, tolerance])

SpatialDataFrameでプライマリ空間フィルタを実行します。

get_max_scored_class(*args)

get_values([include_geometry])

SpatialDataFrameの内容をnumpy配列として返します。

groupby(by)

データを1つ以上の列でグループ化します。

head([n])

参照データから最初のn行を返します。

iterrows([chunk_size])

現在のインスタンスのすべての行を反復します。

length([tolerance, length_col])

現在のSpatialDataFrameから各ジオメトリの長さを計算します。

merge(right[, how, on, left_on, right_on, ...])

指定された結合キーを比較して、2つのSpatialDataFrameオブジェクトを結合します。

merge_oml_dataframe(oml_df[, on, left_on, ...])

現在のSpatialDataFrameを、キーに基づいて既存のoml.DataFrameとマージします。

nearest_neighbors(qry_win[, num_neighbors, ...])

shapelyジオメトリまたは別のSpatialDataFrameとして指定された特定のロケーションに近いレコードを含むSpatialDataFrameを返します。

plot(**plot_geometries_extra_kwargs)

matplolibを使用してSpatialDataFrameをプロットします。

relate(qry_win[, mask, tolerance, ...])

指定された空間演算子を使用して空間フィルタリングを実行します。

replace (to_replace、値)

sort_values(by[, ascending])

指定した列の値でソートされたSpatialDataFrameを返します。

tail([n])

参照データから最後のn行を返します。

to_crs(crs)

指定されたCRSのジオメトリを含む新しいSpatialDataFrameを返します。

within_distance(qry_win, distance[, ...])

shapely問合せウィンドウまたは別のSpatialDataFrameとして指定された問合せウィンドウから特定の距離内にあるレコードのみを含むSpatialDataFrameを返します。

write(dataset[, if_exists, ...])

現在のSpatialDataFrameデータを、データセット引数で指定された宛先に書き込みます。

属性

columns

列名のリストを返します。

crs

ジオメトリ・レイヤーに関連付けられた座標参照系を返します。

shape

SpatialDataFrameのディメンション性。

total_bounds

すべてのデータを囲む最小境界矩形を計算します。