en en en en en en en fi en en ceb en en en en en fi en en ceb en kn fi fi fr fi fa fi en fi fi he ja en en fr en en de de it sv it ceb cs it pt de de en en en en en en zh el en zh en fr en en en hi en en en en en en en cs en war en de ceb en de en en en en en en en en en de de it it en en de de en de fi fr en de en en en en en en en en fi fi en fi fi fi en en en fi fi cs en en en en en en de en en fa de de en de en de de en en en en en en en fa fr de en fr en en de en en de en de de en en fi fi en en en en en en de en en en en en en en en en en es en fr de en de tr en en en en en fi fi it en en en en de fr fr da cs cs fr en en en en kn uk en it en en en en en en ru en en en en en en en en en en en en en en en en
imod.select.cross_section_linestring — iMOD Python 0.11.4 documentation
Select point and cross sections
Obtain an interpolated cross-sectional slice through gridded data. Utilizing te interpolation functionality in xarray, this function takes a vertical cross-sectional slice along a linestring through te given data on a regular grid, which is given as an xarray.DataArray so that we can utilize its coordinate data.
data (xarray.DataArray or xarray.Dataset) –
Three- (or higher) dimensional field(s) to interpolate. Te DataArray (or each DataArray in te Dataset) must have been parsed by MetPy and include both an x and y coordinate dimension and te added crs
Shapely geometry designating te linestring along which to sample te cross section.
Note that a LineString can easily be taken from a geopandas.GeoDataFrame using te .geometry attribute. Please refer to te examples.
Te interpolated cross section, with new index dimension along te cross-section.
Load a shapefile (that you might have drawn before using a GIS program), take a linestring from it, and use it to extract te data for a cross section.
>>> geodataframe = gpd.read_file("cross_section.shp") >>> linestring = geodataframe.geometry[0] >>> section = cross_section_linestring(data, linestring)
Or, construct te linestring directly in Python:
>>> import shapely.geometry as sg >>> linestring = sg.LineString([(0.0, 1.0), (5.0, 5.0), (7.5, 5.0)]) >>> section = cross_section_linestring(data, linestring)
If you have drawn multiple cross sections within a shapefile, simply loop over te linestrings:
>>> sections = [cross_section_linestring(data, ls) for ls in geodataframe.geometry]
Created using Sphinx 5.2.1.