You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

To add the bathymetry we will use the Gebco data set as used in delft dashboard. We start by using the following line

Get bathymetry data
bathymetryData = GetGebcoBathymetryData(xOffset, yOffset, xOffset + gridWidth, yOffset + gridHeigth, EPSGCode)

Here, we retrieve the bathymetry data from the Gebco data set using the extent of our grid and the coordinate system EPSG code. This is needed because the data set uses a specific (different) coordinate system.

 

The next step is to remove the cells that are on land. We can determine this by using our bathymetry data. Add and run the following line to remove all land cells that have a depth above 0

Remove land cells
CleanupLandCells(fmModel, bathymetryData, 0)

The grid should now look something like this:

 

The last step is to add the bathymetry to the model (defined as depth at the vertex) with the following lines :

Add bathymetry to model
values = []
for vertex in fmModel.Grid.Vertices :
    values.append(GetGebcoBathymetryValueFor(vertex.CoordinateValue, 3857, bathymetryData))

fmModel.Bathymetry.SetValues(values)

First, we declare a variable called values as a list. Then, we continue by looping trough the vertices of the grid and calling the function "GetGebcoBathymetryValueFor"    to get the depth value on the location of the vertex and adding it to the list. Finally, we add the bathymetry values to the model by using the SetValues method on the bathymetry property of the model. This should result in the following :

Note: The icon  indicates functions that you might find interesting to see how they have been built. You can do this by opening the corresponding library (another normal script python file on its own) in the toolbox and checking the code which defines the function or method you are interested in.

 

 

 

  • No labels