Creating galleries from Linestring
[1]:
import numpy as np
import pyvista as pv
import geopandas as gpd
from geometron.geom_to_vtk import gdf_to_ug
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
/tmp/ipykernel_490/3909925717.py in <module>
1 import numpy as np
----> 2 import pyvista as pv
3 import geopandas as gpd
4 from geometron.geom_to_vtk import gdf_to_ug
ModuleNotFoundError: No module named 'pyvista'
Importation of Geopackage
[2]:
gdg = gpd.read_file('../../../../data/Galeries .gpkg')
gdg.head()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_490/161153513.py in <module>
----> 1 gdg = gpd.read_file('../../../../data/Galeries .gpkg')
2 gdg.head()
NameError: name 'gpd' is not defined
Definition of the radius of the tubes of the galleries
[3]:
gdg['radius']=2.5
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_490/1432673844.py in <module>
----> 1 gdg['radius']=2.5
NameError: name 'gdg' is not defined
For each line of the geodataframe, a loop returns the coordinates of the gallery points. A spline is created for each group of points. This spline is then transformed into a tube.
[4]:
galeries = []
for idx, row in gdg.iterrows():
vertices = np.array(row['geometry'].coords)
line = pv.Spline(vertices)
galeries.append(line.tube(radius = row['radius']))
b = pv.MultiBlock(galeries)
b.plot()
#b.save('./tmp_files/galeries.vtm',binary=False)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_490/3681313263.py in <module>
1 galeries = []
2
----> 3 for idx, row in gdg.iterrows():
4 vertices = np.array(row['geometry'].coords)
5 line = pv.Spline(vertices)
NameError: name 'gdg' is not defined
A vtm file is exported in order to be able to better visualize in the Paraview software