Presentation on theme: "Using ArcObjects and the ArcGIS Hydro Data Model in Application Development Tom Heinzer Chemical Engineer, GIS Developer U. S. Bureau of Reclamation"— Presentation transcript:
Using ArcObjects and the ArcGIS Hydro Data Model in Application Development Tom Heinzer Chemical Engineer, GIS Developer U. S. Bureau of Reclamation Theinzer@mp.usbr.gov Michael Sebhat Electrical Engineer, MPGIS Manager U.S. Bureau of Reclamation Msebhat@mp.usbr.gov
The birth of ESRI’s COM based data environment is having a profound impact on application design and development. Not only are the components that make up the application’s graphical user interface COM based, but the fundamental geometric objects themselves adhere to the COM specification. This new environment has created many new opportunities for all of us, most of which are yet to be realized. Most of us GIS practitioners that are grappling with VB, C++, COM, VISIO, UML, repositories and so forth certainly find it a non-trivial endeavor. It has become clear, however, that exploring the benefits of this technology are well worthwhile. The ArcGIS Hydro Data Model is an excellent example of extending ESRI’s general data model to a refinement that better suits the needs of a specific niche, in our case modeling hydrodynamic systems. The application that follows is an example of extending that data model even further to fit the needs of a specific modeling system- the Danish Hydraulic Institute’s MIKE11. Most classes of the DHI data model inherit from the ArcGIS data model. In this application, we use ArcObjects programming to interact with the extended geodatabase. Additionally, we attempt to show some current research in the area of mapping one dimensional solution spaces into two dimensions. The methods we utilize require user interaction to modify a TIN structure which represents a water surface at a given time. Dynamic TIN editing is facilitated using Arc Objects code. ArcObjects techniques are also used to update the water depth raster layers every time the TIN surface is modified. This is mainly facilitated by the ITinEdit and IPixelBlock COM interfaces. The following slides attempt to illustrate the procedure.
Research on Direct Connectivity Between MIKE11 Cross Section Editor and Arc8 Hydro Model The MIKE11 GUI.. A transect has been added to the terrain model, which has sampled the digital elevation model and stored the information in the DHI Hydro Model database. If the transect is deleted, the associated data in others tables are deleted (cascading deletes) because of the composite relationships built into the data model using UML.
When the ‘cross section editor’ tool (red circle) is used on a cross section (blue transect), an ActiveX control is notified to appear. It is also passed the cross section’s feature ID. The code in the control subsequently searches the hydro data model table where the elevation profile data is stored (XSectionPoints) and loads the data into the graphing and table components
This is an example of placing a different graphing ActiveX control (one that ESRI supplies with ArcGIS) into ArcMap and pointing it at the geodatabase as in the previous slide. All functionality of the embedded control is present, and it is docked within the ArcMap framework. Also present is a dockable web browser in the framework. This is all possible because of the COM compliance and proper interface implementations. The upper floating toolbar is generated on the fly using ArcObjects code (ICommandBar).
Theory Mike11 is a 1D model which solves for a water surface at a given time along a river line. To map inundation, one generally compares the water surface with the underlying elevation model. Getting the water surface properly represented in two dimensions can be problematic.
Thin Delaunay Triangles in an exaggerated elevation model view. The ‘transects’ which generate the cross sections are densified and added to a TIN using the ITinEdit interface. This enforces a thin triangle formulation which ensures a relatively flat planar surface between transects and adds interpolation control.
Manipulation of TIN Surface to Modify Inundation Surface – Arc Objects Procedures The idea here is to attempt to map inundation given water levels at all of the model solution points. The densified transects are placed into a tin structure and mapped. Inundation, along with water depths are mapped at once, however, some of the areas that appear inundated are incorrect due to the configuration of the TIN structure. This can occur where triangles jump across ‘U’ shaped areas, or where the TIN doesn’t happen to cover an area that should be inundated (even though it isn't modeled-ie at a cross section). We use manual inspection at this point.
Modification of Inundation Surface with Dynamic Tin Editing Additional ‘interpolation transects’ are added to modify the TIN. These new mapping transects take their values either from other solution points (white) or other transects. Areas can also be erased. The water depths update accordingly in the modified areas Erased Interpolation Transects
Hard Polygon Erasure and Interpolation Transects: powered by ArcObjects The interactive methods allow the user to map small offline areas in an understandable, and usually defensible way, even if it isn't perfect. Hard Break Line
Ending Slide…. ArcObjects animator visualizing a MIKE21 (2D) simulation. This is a still. 130 Cad drawings, 2 ft contours with building footprints and heights.