Geometric Properties¶
This notebook demonstrates how to calculate geometric properties of objects in a vector dataset and filter out unwanted objects based on these properties.
Install package¶
To use the geoai-py
package, ensure it is installed in your environment. Uncomment the command below if needed.
In [ ]:
Copied!
# %pip install geoai-py
# %pip install geoai-py
Import package¶
In [ ]:
Copied!
import geoai
import geoai
Load data¶
In [ ]:
Copied!
vector_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_buildings_masks.geojson"
raster_url = (
"https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train.tif"
)
vector_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_buildings_masks.geojson"
raster_url = (
"https://huggingface.co/datasets/giswqs/geospatial/resolve/main/naip_train.tif"
)
In [ ]:
Copied!
gdf = geoai.read_vector(vector_url)
gdf = geoai.read_vector(vector_url)
In [ ]:
Copied!
gdf.head()
gdf.head()
Visualize data¶
In [ ]:
Copied!
geoai.view_vector_interactive(gdf, column="confidence", tiles=raster_url)
geoai.view_vector_interactive(gdf, column="confidence", tiles=raster_url)
Add geometric properties¶
In [ ]:
Copied!
gdf_props = geoai.add_geometric_properties(gdf, area_unit="m2", length_unit="m")
gdf_props = geoai.add_geometric_properties(gdf, area_unit="m2", length_unit="m")
In [ ]:
Copied!
gdf_props.head()
gdf_props.head()
Visualize geometric properties¶
In [ ]:
Copied!
geoai.view_vector_interactive(gdf_props, column="area_m2", tiles=raster_url)
geoai.view_vector_interactive(gdf_props, column="area_m2", tiles=raster_url)
In [ ]:
Copied!
geoai.view_vector_interactive(gdf_props, column="elongation", tiles=raster_url)
geoai.view_vector_interactive(gdf_props, column="elongation", tiles=raster_url)
Filter objects based on geometric properties¶
In [ ]:
Copied!
gdf_filtered = gdf_props[(gdf_props["area_m2"] < 2000) & (gdf_props["elongation"] < 5)]
gdf_filtered = gdf_props[(gdf_props["area_m2"] < 2000) & (gdf_props["elongation"] < 5)]
Visualize filtered objects¶
In [ ]:
Copied!
geoai.view_vector_interactive(gdf_filtered, column="elongation", tiles=raster_url)
geoai.view_vector_interactive(gdf_filtered, column="elongation", tiles=raster_url)