Polygonize a Raster¶
Polygonize a raster using gk.raster.polygonizeRaster(raster).
This function converts raster cells into polygon geometries.
InĀ [1]:
Copied!
# extract value at a given location by interpolating
import pathlib
import geokit.core.raster
import geokit.core.srs
import geokit.core.geom
import numpy as np
import matplotlib.pyplot as plt
# extract value at a given location by interpolating
import pathlib
import geokit.core.raster
import geokit.core.srs
import geokit.core.geom
import numpy as np
import matplotlib.pyplot as plt
InĀ [2]:
Copied!
# create a raster from a matrix
raster_matrix = np.array(
[
[1, 2, 3],
[2, 2, 2],
[3, 2, 1],
]
)
ras = geokit.core.raster.createRaster(
bounds=(5, 48, 8, 51),
pixelWidth=1,
pixelHeight=1,
data=raster_matrix,
srs=geokit.core.srs.EPSG4326,
)
# polygonize a raster
ras_boolean = geokit.core.raster.createRasterLike(source=ras, data=raster_matrix == 2)
polygonized_geoms = geokit.core.raster.polygonizeRaster(ras_boolean)
# create a raster from a matrix
raster_matrix = np.array(
[
[1, 2, 3],
[2, 2, 2],
[3, 2, 1],
]
)
ras = geokit.core.raster.createRaster(
bounds=(5, 48, 8, 51),
pixelWidth=1,
pixelHeight=1,
data=raster_matrix,
srs=geokit.core.srs.EPSG4326,
)
# polygonize a raster
ras_boolean = geokit.core.raster.createRasterLike(source=ras, data=raster_matrix == 2)
polygonized_geoms = geokit.core.raster.polygonizeRaster(ras_boolean)
InĀ [3]:
Copied!
# draw polygonized geom
geokit.core.geom.drawGeoms(polygonized_geoms.geom[polygonized_geoms.value == 1], figsize=(6, 6))
plt.show()
# draw polygonized geom
geokit.core.geom.drawGeoms(polygonized_geoms.geom[polygonized_geoms.value == 1], figsize=(6, 6))
plt.show()
InĀ [4]:
Copied!
# draw polygonized geom with buffer
geokit.core.geom.drawGeoms(
polygonized_geoms.geom[polygonized_geoms.value == 1].iloc[0].Buffer(0.5),
figsize=(6, 6),
)
plt.show()
# draw polygonized geom with buffer
geokit.core.geom.drawGeoms(
polygonized_geoms.geom[polygonized_geoms.value == 1].iloc[0].Buffer(0.5),
figsize=(6, 6),
)
plt.show()