raimund@256: ..
raimund@256: .. Copyright (c) 2011 by Intevation GmbH, Germany <info@intevation.de>
raimund@256: .. 
raimund@256: .. This file is part of MXD2map.
raimund@256: ..
raimund@256: .. This program is free software under the LGPL (>=v2.1)
raimund@256: .. Read the file LICENCE.txt coming with the software for details
raimund@256: .. or visit http://www.gnu.org/licenses/ if it does not exist.
raimund@256: ..
raimund@256: .. MXD2map has been developed on behalf of the
raimund@256: .. Bundesamt fuer Seeschifffahrt und Hydrographie (BSH) in Hamburg
raimund@256: .. by Intevation GmbH.
raimund@256: ..
raimund@256: .. Authors:
raimund@256: .. Raimund Renkert <raimund.renkert@intevation.de>
raimund@256: .. Bjoern Schilberg <bjoern.schilberg@intevation.de>
raimund@256: .. Stephan Holl <stephan.holl@intevation.de>
raimund@256: 
raimund@256: 
stephan@202: .. index:: features, functionality, configuration, runtime-parameter, commandline
stephan@188: 
rrenkert@182: -------------
rrenkert@182: Functionality
rrenkert@182: -------------
rrenkert@182: 
rrenkert@182: The MXD2map converter works as a commandline tool to transform maps from the
rrenkert@182: proprietary ArcGIS file format "MXD" to a MapServer configuration file.
rrenkert@182: 
rrenkert@182: To transform an ArcGIS mxd file to a MapServer configuration file the mxd file
rrenkert@183: must have a valid and available data source and must not fit the
rrenkert@183: :ref:`restriction-label` described in the appropriate section.
rrenkert@183: 
stephan@235: .. image:: ../funktionsweise/funktionsweise-MXD2map.png
stephan@202:     :align: center
stephan@202:     :alt: MXD2map-Schema
stephan@202:     :width: 500px
rrenkert@183: 
rrenkert@183: .. _howtouse-label:
rrenkert@182: 
rrenkert@182: How to use
rrenkert@182: ----------
rrenkert@183: 
rrenkert@182: The converter is started via the commandline running the command::
rrenkert@182: 
rrenkert@182:   $java -jar mxd2map.jar
rrenkert@182: 
rrenkert@182: The converter can be configured in two ways:
rrenkert@182: 
rrenkert@182: 1. The converter.properties file (see converter.properties.sample)
rrenkert@182: 2. via commandline arguments
rrenkert@182: 
stephan@188: The converter.properties.sample file::
stephan@188: 
stephan@188: 
stephan@188:   # Java properties file for the MXD Converter Tool.
stephan@188:   mxd = \\full\\path\\to\\mxd-file
stephan@188:   map = \\full\\path\\to\\map-file
stephan@188:   map-template = \\full\\path\\to\\mapfile-template
stephan@188: 
stephan@188: Make sure  you mask backslahes with an additional backslash.
stephan@188: 
rrenkert@182: Both take a parameter for the path to the mxd file, the outputfile and a mapfile
rrenkert@182: template for initial mapfile config. Commandline parameters have a higher
rrenkert@182: priority than the properties file.
rrenkert@182: 
rrenkert@182: The available parameters on the commandline are::
rrenkert@182: 
rrenkert@182:   -m or --mxd		The mxd file to convert.
rrenkert@182: 
rrenkert@182:   -a or --map		The path to the output file. Should end with ".map".
rrenkert@182: 
rrenkert@182:   -t or --template	The template to use for an initial mapfile
rrenkert@182: 			configuration.
rrenkert@182: 
rrenkert@182: To have the full functionality for ArcGIS map conversion it is necessary to have
rrenkert@182: the ESRI fonts available. ArcGIS products install these fonts to the default
stephan@188: windows font folder ``c:\\windows\\fonts``. To make them available for the converter
rrenkert@182: there has to be a MapServer font set (see
stephan@235: http://mapserver.org/mapfile/fontset.html). 
stephan@235: 
stephan@235: The MXD2map converter comes with an
rrenkert@182: initial fontset containing all relevant ESRI fonts and the free font FreeSans.
rrenkert@182: The font set file named fonts.txt can be edited and further fonts can be added.
rrenkert@182: To use a font set, the file needs to be referenced in the MapServer template
rrenkert@182: otherwise the converter can not create character symbols and will show up errors
rrenkert@182: in the conversion process.
rrenkert@182: 
rrenkert@182: The converter uses a separate symbol file to provide symbol sets to the
rrenkert@182: template to have initial symbols available. If no symbol file is referenced a
rrenkert@182: new one is created by the converter if necessary. The resulting symbol set is
rrenkert@182: written to the same directory as the output mapfile named
rrenkert@182: [mapfile-name]-symbols.sym.
rrenkert@182: 
rrenkert@182: 
rrenkert@182: Features
rrenkert@182: --------
rrenkert@182: 
stephan@250: MXD2map is optimized to work best with MapServer 6.x. Therfore the new
stephan@250: MapServer features (symbolhandling, styling etc) are built in.
stephan@250: 
stephan@188: MXD2map currently supportes the following features:
rrenkert@182: 
stephan@230:  * Datasources:
stephan@230: 
stephan@290:    * ArcSDE vector database connections (requires MapServer built against ArcSDE, Client-dlls ``[sde.dll, sg.dll and pe.dll]`` needed)
stephan@188:    * ESRI-Shapefiles
rrenkert@182: 
stephan@188:  * Symbols:
rrenkert@182: 
rrenkert@182:    * Simple marker symbols
rrenkert@182:    * Character marker symbols
rrenkert@182:    * Arrow marker symbols
stephan@250:    * Picture marker symbols (also trancparency is supported if set in MXD)
stephan@188:    * Symbols based on TTF-characters of special cartographic fonts
rrenkert@182:    * Any combination of character marker symbols
rrenkert@182:    * Linesymbols with pattern and cartographic attributes
rrenkert@182:    * Polygons filled with solid color and outline
stephan@188:    * Polygons filled with a hatch and hatched outline
rrenkert@182: 
stephan@250: 
stephan@188:  * Layer types:
stephan@188: 
stephan@188:    * Featurelayer (vectors) as POINT, LINESTRING and POLYGON
stephan@188:    * Classifications with unique values
stephan@188:    * Classifications with class breaks
stephan@230:    * Group-members are concatinated to group.layername. This ensures having discrete layernames
stephan@250:    * ArcGIS-layergroups are represented as WMS Named layers, which are WMS-layers without a title (so not requestable through GetMap)
stephan@230:    * all definition-queries for filtering the data on Layer- and classification-level
rrenkert@182: 
rrenkert@182:  * Further map attributes:
rrenkert@182: 
stephan@250:    * Projections and units based on the EPSG-table (if set in MXD)
stephan@188:    * Min/max scale denominations at layer and label-level
stephan@250:    * Global Map extent
stephan@250:    * Layer extent and SRS
rrenkert@182:    * Simple labeling
rrenkert@182:    * Filter and expressions
stephan@188:    * ArcSDE Jointables
stephan@202:    * Mapfile-Templating for OGC-related stuff
stephan@230:    * Simple Labeling-syntax (a subset of ArcGISs VBScript-labels)
stephan@209: 
stephan@209:  * Other features
stephan@209: 
stephan@230:    * Umlauts are translated into its equivalents within LAYER-names,
stephan@235:      CLASS-names and also mapfile-names. Though it is good standard not to
stephan@235:      use them since they mostly cause problems when using them within
stephan@235:      OWS-related services.
stephan@250:    * Creation of distinct layer-names by concatinating group- and
stephan@250:      layernames to WMS-titles. This comes handy mostly in ArcGIS
stephan@250:      layergroups.
stephan@250: 
stephan@290: