We are trying to create a OGC wms using J2EE, and we know there are some opensource solution, like geoserver-wms. However most of them will use the SLD to render the data to an image. Which does not meet our requirement.

Then I wonder if we can read the mxd file in java and generate data according to the wms parameters?


We have arcgis engine license.

Since we are trying to create a OGC WMS servcie, so we will have to generate an image and return it to user.

  • It would help if you could more concisely state what your requirement(s) and environment are - I'm assuming your service must generate an image from an existing mxd? What level of ArcGIS license do you have access to (engine, desktop, server)? I am fairly confident that you will need some level of ArcGIS license to read and do stuff with the mxd. – user890 Jul 18 '13 at 12:35
  • @user890: I update my post. – giser Jul 18 '13 at 13:22

I'm afraid that without some level of ArcGIS Server license, accessing the mxd in any type of web context will not be possible (or legal).

There are tools out there that can use mxds as the basis for WMS styling/symbolization. One such tool is MXD2map, that converts ArcGIS MXD-files into UMN MapServer Mapfiles. With no intentions to start a flame war here - UMN MapServer makes a far superior WMS server than anything ESRI has to offer.

  • Thanks for your suggestion. However I wonder if we can use the UMN MapServer mapfiles in our J2EE appliation? – giser Jul 19 '13 at 0:00
  • Its possible, start with something like: mapserver.org/ogc/mapscript.html#java-example – user890 Jul 19 '13 at 0:37
  • So it seems that if I create a WMS Service using J2EE application, then this application will work as an proxy, it will call the Map Server in turn according to the parameters from the client, then return what it got from Map Server to the client? – giser Jul 19 '13 at 1:01
  • That's how I'd do it - don't think there is a better way... – user890 Jul 19 '13 at 12:00

It is also possible to get Bridge, which will allow you to export your maps directly to GeoServer (and eventually to GeoNetwork). http://geocat.net/bridge

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.