This project has moved. For the latest updates, please go here.


Getting HydroDesktop, Presentations and Publications, Functional Specifications, Database Structure, Sample Data, Workshops and Training, Current Task List

Mailing list

When you begin development of code for Hydrodesktop, please sign up for the developer mailing list:

Also, watch the codeplex discussions

HydroDesktop Developer Documentation

coding practices

Testing Procedures for HydroDesktop

Creating Custom Extensions or Plugins for HydroDesktop

  • There are 7 simple steps to create a plugin or extension for HydroDesktop:
  1. Download HydroDesktop and install it. It is preferable to have the latest version. You may already have it on your computer. Check the downloads page on this site.
  2. In Visual Studio create a new project of type "Class Library"
  3. Add references to the DotSpatial GIS libraries that are in your HydroDesktop folder. At a minimum you will need to add references to DotSpatial.Extensions and DotSpatial.Controls. 
  4. Set the output build path for your assembly to the folder for the plugins in your HydroDesktop directory. For real time debugging capabilities, you can also set the Start Action (in your project properties) to "Start external program" and choose your HydroDesktop executable to be the start up program.
  5. Implement the class, 'Extension' in the main class of your extension.
  6. Add code to the "Activate" and "Deactivate" methods in your class.
  7. Do something cool. 
  • Somewhat more detailed steps are given together with an example plugin for importing a text file here: How to make a plugin.
  • A sample solution for the above tutorial is available here: Hello World Data Importer
  • A very simple hello world sample plugin project with source code is here: Hello HydroDesktop
  • Much of the power of a HydroDesktop plugin comes from using and accessing functions in the map environment. Go to the documentation page on www.dotspatial.org to learn more.

HydroDesktop Coding Conventions

HydroModeler

  • HydroModeler is a plug-in to HydroDesktop that allows for component-based modeling of hydrologic systems that is being prototyped by researchers at the University of South Carolina. The emphasis of HydroModeler is on standards-based data transfer between the HIS and models using the Open Modeling Interface (OpenMI).  The motivation for HydroModeler is to provide an environment that supports community-based model development.  To learn more about HydroModeler, please see the HydroModeler help files installed with HydroDesktop or email Jon Goodall (goodall@cec.sc.edu). 

Logos

Quick Links

Getting HydroDesktop, Presentations and Publications, Functional Specifications, Database Structure, Sample Data, Workshops and Training, Roadmap, Use Cases, Unit Tests, HydroDesktop Testing Report

Documentation from Older Versions

  • HydroDesktop_Quick_Start_Guide.pdf - With a 15-minute walkthrough, this document illustrates how to discover, access, visualize and export hydrologic time series data using HydroDesktop. If you are a new HydroDesktop user, read this guide to get started.
  • Unpublished Web Services Tutorial.pdf - This tutorial will help you access web services from a HydroServer not registered with HIS Central. (also available as .docx)
  • HydroDesktop Workshop Exercise - This more advanced exercise was developed by Tim Whiteaker and includes two parts - using HydroDesktop to search and download data, and also using the R plugin in HydroDesktop

Plugins

Project Files (dspx)

Automated Build artifacts

Mac Build

CZO Desktop Build


For coding conventions, please see the MapWindow conventions at http://www.mapwindow.org/wiki/index.php/MapWindow6:CodeConventions.

When you're ready to write help documentation, please review the instructions in Documentation\OnlineHelp folder in the repository.

Search and Discovery Tool

Here is the source code for the Search and Discovery Tool that James Seppi developed and Zichuan Ye improved: WFSTest.zip

Logos and Icons

HydroDesktop.ico

Last edited Jun 24, 2014 at 11:52 PM by jirikadlec2, version 36

Comments

No comments yet.