Algorithms

Some helper classes have been integrated into WPS to allow for on-the-fly conversion between formats. Additionally, some helper classes exist to interact with Overpass servers and converting their returned output into GML, KML, and Shapefiles. Add the following somewhere between the AlgorithmRepositoryList tags:

As you can see here, we really have two types of conversion facilities; one supports direct conversion, and the other supports interaction with the Overpass servers. The OSM3S property is configurable to be set to any compatible Overpass server. For more information on the Overpass API, check the OpenStreetMap API.

Usage

Some sample queries exist in the WPS test client for osmtransform. For convenience of the user, some are posted here.

Inputs/Outputs for OSM format conversion

The algorithm org.n52.wps.server.osm.converter.OSM2Vector is really mostly a pass-through system that exists for convenience in converting between various formats. The main parameter that needs to be set is the "data" parameter, which should simply contain the contents of the OSM file. It is important to specify the schema and mimeType, as otherwise it may not be detected at all as a valid input format. The response parameter "result" should contain settings on what sort of format is returned. The response format then can basically be anything vector-based, as for the most part, the geometries should be converted.

Inputs/Outputs for Overpass interaction

The algorithms in org.n52.wps.server.overpass.algorithm.* are mostly Overpass querying algorithms, with the option to return the output in either a WPS-supported vector format, or OSM. Each algorithm has its own parameters. There exists a GenericQuery algorithm that will passthrough Overpass queries (specified using the parameter "query") directly to the server, then return the output in a user-specified format. The BBox algorithm exists mostly as a model on how to create future algorithms.

Common to these algorithms are the response or output parameters. There are currently three:

result - the response from Overpass in any vector-based format supported by WPS

Comments and Future Work

There probably exists a lot of future work to be done in this area. The entirety of this GSoC experience has taught me that 2-3 months is barely enough to understand all there is to know about the various GIS formats. There is a lot more that I would like to do with this extension and with WPS in general, which, thankfully I had the foresight not to suggest in the original proposal, as I know I would not have been able to get them done in time.

The questions stand:

Did I learn a lot from this project?

Definitely.

Did I get everything done as I'd hope?

Some, not so much, due to my limited understanding of the field.

Would I like to continue developing?

For sure.

Some research has shown that the ability to ensure continued interoperability between formats is highly beneficial to the GIS community, and I think any step in this direction is the right direction for ensuring this.

With that said, here are some things I would consider interesting additions to the project:

Support for PBF format

Adding more algorithms to the Overpass algorithm component (What would be some useful requests that would be made)

Verification that particular tools can use the exported GML/KML/Shapefiles from osmtransform

Adding support for bzipped/gzipped OSM files

Prod Geotools to integrate some of the OSM parsing component

Making a more easily subclassable Overpass algorithm class for easier extension; perhaps an auto-generating tool?