Integrating FME Server Into Web Mapping Applications
Underneath FME Server’s data distribution capabilities, its architecture is designed to be easily integrated into existing web mapping frameworks. This kind of integration allows end users to gather data in a familiar environment, such as their organization’s custom system or a third party application – like ESRI ArcGIS® Server or Google™ Maps™.
Recently, FME users have been asking us to show some examples of how this can be done. One sample we’ve created demonstrates how FME Server’s download and streaming services can be called from a web mapping form integrated with the Google Maps API. Another integration example shows how FME Server services can be made available within an ESRI ArcGIS Server web map.
Both examples display a generic web map next to a request form. The Google Maps example also allows users to view overlays of the actual layers they can download. In both cases, users can view the displayed map and use the polygon tool to clip the area of data they want to access. Then they select the layers they’d like, and choose their output coordinate system and format. The underlying JavaScript dynamically builds a POST request and then sends their request to the appropriate FME Server service which delivers a link to the data they’ve requested.
This is all accomplished in an HTML document that uses JavaScript, some of which is borrowed from freely available source code provided by Google, ESRI and user communities. Upon the user loading the page, the JavaScript draws the map and sets up the data distribution form. It also provides the onClick polygon clipping capabilities and creates the user-selected geometry as a list of points to pass along to FME Server as bounding box parameters. Finally, the service request sent to FME Server is easily designed based on the “Show Request” button in the FME Server web user interface.
The Google Maps example also provides two options based on a user’s selected output format. First, it hides the data download and streaming options to simplify the user’s experience. If a user chooses to receive the data as a GIF, the image simply opens directly in their web browser; if they choose the other available formats, the data is delivered to them in a zip file via their web browser. The second option is for outline and fill colors, which can be user-specified if the selected output format can handle styling, such as Adobe PDF.
We’ve published everything you need from these examples to fmepedia.com. There you can also find generic JavaScript that offers an easy entry point for integrating FME Server into your own web mapping applications. Simply visit safe.local/FMEServerIntegrationExamples.
Psst… Coming soon in FME 2010, FME Server will further ease integration by providing a more complete set of RESTful tools. We’re always looking for new ways to make our products work better for you. Have ideas on what we can improve? Let us know! Visit safe.local/FMEIdeas.