Srtm2Osm Development

From OpenStreetMap Wiki
Jump to: navigation, search

This page is maintained by Igor Brejc (User:Breki). It contains information about development-related stuff for Srtm2Osm project that converts SRTM relief data to OSM Contours objects.

The page is in initial stage. For more information send Igor a mail.

The Code

On January 21st 2008 I've added the Srtm2Osm project code to the OSM SVN server (

The Build


Basically, you only need Microsoft's .NET 2.0 Framework SDK to build Srtm2Osm. All of the other stuff (3rd party libraries and tools) are included with the source (lib subdirectory).

Build Procedure

Start BuildSrtm2Osm.bat file. It will do some magical stuff, like building (obviously), running FxCop to check for inconsistencies, generating source code docs in HTML pages (using doxygen) and zipping the build into the Builds directory.

If you want to open the solution in VisualStudio and build manually, you still have to run the above build procedure before that, since it creates some autogenerated source files needed to build the code manually.

The Release

Steps to do to build Srtm2Osm for a new "official" release:

  1. Increment the major / minor version number in Srtm2Osm.ProjectVersion.txt. The build and revision part of the version number will be automatically generated, so leave them as zero's.
  2. Edit the ReleaseNotes.txt and add your important changes.
  3. Change the ReleaseStartDate property in (date format: MM/DD/YYYY).
  4. Start the usual build procedure.
  5. Upload the resulting zip file to the server. The hosting of that zip file is currently done by User:Michi2.
  6. Edit the Srtm2Osm wiki page to include the changes you made.

The Other

This code was taken from the larger codebase used by both Srtm2Osm and Kosmos, so I still maintain my version of Srtm2Osm code on my local SVN server. Since I'm actively working on Kosmos, which too uses Brejc.DemLibrary for processing elevation data, there will probably be some code changes in the future. I will try to keep two codebases synchronized as much as I can.

That's it for now. If you have any questions or problems, don't hesitate to contact me. If you plan to do some large changes to the code, I recommend asking me first.