REST Extension for MapGuide Open Source
Clone or download
Failed to load latest commit information.
app Fix bad model documentation for creating a feature source. It's Geome… Apr 17, 2018
assets Update ol3-cesium to 1.21 Nov 7, 2016
cache - Add experimental code for generating GeoJSON vector tiles. The rele… Feb 5, 2014
conf/data Fix swagger UI/docs for published data sources. Fixes #123 Jan 29, 2016
demo #163: Mar 29, 2017
doc #185: Regen swagger json Apr 17, 2018
integration_test #138: Fix duplicate class name Dec 31, 2016
sampleapps #181: Initial support for XYZ retina tiles. Includes sample application. Feb 11, 2018
test As everything as been ported over, remove QUnit test suite/runner and… Dec 31, 2016
.gitignore Update gitignore Apr 28, 2016
.htaccess Update .htaccess file to work under the assumed default installation … Jan 25, 2014
.travis.yml Use PHP 5.6 for Travis and AppVeyor. 5.6 is a build/dev requirement, … Apr 5, 2017
LICENSE Initial commit Dec 17, 2013 Add note about needing URL rewrite module for IIS. Mar 28, 2018
appveyor.yml Use curl to download php Apr 17, 2018
build.ant.xml Only copy readme.txt from the cache directory when preparing for depl… Aug 2, 2014
build.phing.xml #138: Aug 2, 2016
changelog.txt #165: Implement additional geometry operations: Apr 5, 2017
composer.json Composer package updates Apr 5, 2017
composer.lock Update composer lock Apr 17, 2018 #163: Add +x for Mar 29, 2017
index.php #165: Add new geo-processing service route. Implement buffer operation. Apr 5, 2017
web.config.iis Guard against existing mime maps already defined upstream in IIS May 28, 2015


Build Status Windows Build Status

mapguide-rest is a RESTful web extension for MapGuide Open Source that continues the ideas explored in mapguide4j and GeoREST projects

mapguide-rest provides the following services:

  • A REST-ful http interface modeled on original discussions on a RESTful web service for MapGuide
  • A re-imagining of GeoREST and its data publishing capabilities

mapguide-rest is written in PHP and uses the following libraries:

This project is not affiliated with Autodesk or OSGeo.


mapguide-rest requires an installation of MapGuide Open Source and its bundled copy of PHP. As PHP is required by Fusion and other installed MapGuide web applications, this requirement will almost always be satisifed.

mapguide-rest has been tested on MapGuide Open Source 2.6. It should theoretically work on any installation of MapGuide Open Source or AIMS that includes PHP 5.3 or newer.


NOTE: For convenience, you should use one of the pre-packaged release distributions

  1. Ensure you have a git and svn client installed and this is accessible from the command-line.

  2. Clone this repository into the www directory of your MapGuide Open Source installation. Rename the clone directory to "rest" (eg. C:\Program Files\OSGeo\MapGuide\Web\www\rest on windows or /usr/local/mapguideopensource-2.6.0/webserverextensions/www/rest on linux)

  3. Install PHP Composer if you have no done so already

  4. Run the following composer command from the root of your clone to pull down required vendor libraries

composer install


php composer.phar install

Some of the external libraries that composer pulls down may require a svn checkout or git clone, so ensure you have these clients installed in step 1.

  1. [OPTIONAL] Install and enable the Application Request Routing module for IIS. This allows for "cleaner" URLs. If you have installed the ARR module, you can rename the web.config.iis file to web.config to activate ARR for the REST extension. For Apache, you can use the provided .htaccess file for clean URLs and skip this step.

You may also need to install the URL Rewrite module for IIS as well.

  1. [OPTIONAL] On Linux, you may need to create a "templates_c" folder under the "cache" directory and give it sufficient permissions for the Smarty template engine to save compiled templates to. See Example 2.7 of the Smarty installation guide for more information. Additionally, Smarty may also complain about a default timezone not being set (this is raised as an exception). To avoid this exception, set a default timezone in php.ini and restart Apache

  2. You can now access the REST endpoint at:


Check out the wiki for additional information and documentation.


mapguide-rest is licensed under the GNU Lesser General Public License (LGPL) v2.1 (see LICENSE for more information)