In [ ]:
Copied!
# %pip install geoai-py
# %pip install geoai-py
Import libraries¶
In [ ]:
Copied!
import geoai
import geoai
Download sample data¶
In [ ]:
Copied!
raster_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/buildings_africa.tif"
raster_url = "https://huggingface.co/datasets/giswqs/geospatial/resolve/main/buildings_africa.tif"
In [ ]:
Copied!
raster_path = geoai.download_file(raster_url)
raster_path = geoai.download_file(raster_url)
Initialize the model¶
In [ ]:
Copied!
extractor = geoai.BuildingFootprintExtractor(model_path="building_footprints_usa.pth")
extractor = geoai.BuildingFootprintExtractor(model_path="building_footprints_usa.pth")
Extract building footprints¶
In [ ]:
Copied!
masks_path = extractor.generate_masks(
raster_path,
output_dir="building_masks.tif",
min_object_area=1000,
confidence_threshold=0.5,
threshold=0.5,
)
masks_path = extractor.generate_masks(
raster_path,
output_dir="building_masks.tif",
min_object_area=1000,
confidence_threshold=0.5,
threshold=0.5,
)
In [ ]:
Copied!
geoai.view_raster(masks_path, opacity=0.7, colormap="tab20", basemap=raster_url)
geoai.view_raster(masks_path, opacity=0.7, colormap="tab20", basemap=raster_url)
Vectorize masks¶
In [ ]:
Copied!
gdf = geoai.orthogonalize(
input_path=masks_path, output_path="building_footprints.geojson", epsilon=1.0
)
gdf = geoai.orthogonalize(
input_path=masks_path, output_path="building_footprints.geojson", epsilon=1.0
)
Add geometric attributes¶
In [ ]:
Copied!
gdf = geoai.add_geometric_properties(gdf)
gdf = geoai.add_geometric_properties(gdf)
Visualize results¶
In [ ]:
Copied!
geoai.view_vector_interactive(
gdf, style_kwds={"color": "red", "fillOpacity": 0.2}, tiles=raster_url
)
geoai.view_vector_interactive(
gdf, style_kwds={"color": "red", "fillOpacity": 0.2}, tiles=raster_url
)