Ticket #2748 (new feature)

Opened 3 years ago

Last modified 3 years ago

Support ArcGIS Server services through ArcGIS Server REST API

Reported by: august Owned by:
Priority: minor Milestone: 2.13 Release
Component: general Version: 2.9
Keywords: Cc:
State:

Description

ArcGIS Server since 9.3 (current release 10.0) has a wide range of new services with different functionalities e.g. Map and Image service (mapping, query, and identify etc.), Geocode service (geocoding and reverse geocoding), Geometry service (calculating length and area, simplify etc.), Geoprocessing service, and Network Analysis service. Those services can all be consumed through ArcGIS Server REST API which already backs up ESRI's variety of high level web API like JavaScript, Silverlight and Flex APIs.

Users will benefit tremendously if OpenLayers also supports ArcGIS Server services as layers and controls through REST API. Ideally this support should be implemented in OpenLayers as a set of sub classes of OpenLayers.Format which parse and encode objects in ESRI's JSON format from/to OpenLayers's objects plus a few helper controls and layers for users to easily interact with maps and features. It's good see to part of this support has been added (e.g. ArcGISRest93 layer) since OpenLayers 2.8 but all, and the rest of them obviously takes a lot of time and resources.

Just as a temporary solution, I created a wrapper of ArcGIS JavaScript API in OpenLayers to consume ArcGIS Server services including even Geoprocessing and Network Analysis. The core of this wrapper is a format called "AgsJsAdapter" which convert between OpenLayers objects and ArcGIS JavaScript objects, and a few controls are also created which takes input from users interaction or OpenLayers events but under the hood calling ArcGIS JavaScript API to perform the job. This is obviously not the cleanest way support ArcGIS Server services as I mentioned before. It also has dependency on ArcGIS JavaScript API. So it's not a solution for the ticket itself, instead it's just a temporary short cut for fun.

I attached the patches (a big patch) with this ticket so whoever interested can apply it on current OpenLayers trunk. It has complete tests and a lot of samples (most of samples are working against live ArcGIS Server services from ArcGIS online)

Apply in order: agstiled.patch, agscontrols.patch and agscontrols-examples.patch

Or even better and easier you can check it out from my sandbox at  http://svn.openlayers.org/sandbox/august/trunk

Attachments

patches.zip Download (86.5 KB) - added by august 3 years ago.

Change History

Changed 3 years ago by august

Changed 3 years ago by august

Three patches are zipped to avoid the size limit of file upload.

Note: See TracTickets for help on using tickets.