postgis
Functions
append_data
def append_data(workspace: str,
layername: str,
data: List[dict],
columns: list,
id_column: str = "id",
connection=aurora)
GIS function to append columns to a PostGIS table. Basically an execute many query wrapper.
Arguments:
workspacestr - input schema name.layernamestr - input table name.dataList[dict] - input data.columnslist - list of column names, names will be alphabetically sorted.id_columnstr, optional - name of primary key of vector table, or any other unique ID column. . Defaults to "id". connection (psycopg2.connection(), optional): Defaults to aurora.
Raises:
KeyError- raised when a specific column does not exist.
Examples:
append_data(
workspace="opusinsights_87_nld_12",
layername="treecount",
data=[
{
"foo": "bar"
}
],
columns=["tree_id", "meanheight"],
id_column="id"
)
generate_geometry
def generate_geometry(layername: str,
options: ProcessOptions,
workspace: str,
connection=aurora)
GIS function to generate geometry from WKT string in PostGIS table
Arguments:
layernamestr - input table name.optionsProcessOptions - input processing options.workspacestr - input schema name.connectionpsycopg2.connection() - connection to RDS. Defaults to aurora.
Examples:
generate_geometry(
crs=4326,
layername="treecount",
options=ProcessOptions(foo="bar"),
workspace="opusinsights_87_nld_12"
)
pull_geometries
def pull_geometries(workspace: str,
tile: gdal.Dataset | str,
options: ProcessOptions,
layername: str = "treecount",
connection=aurora) -> List[dict]
Helper function to collect necessary geometries from PostGIS table. The function collects the geometries using either a buffer or a numeric attribute (parameter) in the PostGIS table. Tile bounds are used to create a search window.
Arguments:
workspacestr - name of the workspacetilegdal.Dataset | str - input raster tile data.optionsProcessOptions - processing options.layernamestr, optional - input layer name. Defaults to "treecount".connectionpsycopg2.connection, optional - RDS connection. Defaults to aurora.
Raises:
ValueError- raised when someone attempts a buffer 0.
Returns:
list | None: list of records.
Examples:
pull_geometries(
workspace="opusinsights_87_nld_12",
tile="/mnt/data/some-0-1.tiff",
layername="treecount",
options=ProcessOptions(foo="bar")
)