Map Symbol Brewer - Help



down Where to start - A short Beginners Guide

Take a look at the main menu on the upper right hand side:

Main Menu

File Upload Button With the "File Upload" button you can jump back from any location in the Map Symbol Brewer to the file upload dialog.
DiaML Generation Button With the "DiaML Generation" button you can jump back from any location in the Map Symbol Brewer to the DiaML generation dialog. Here, you can create your own map symbol and apply it to the map.
Map Export Button With the "Map Export" button you can jump back from any location in the Map Symbol Brewer to the export dialog. Here, you can export your generated map symbol layer.
About Project Button This button leads to the "About Project" section of the Map Symbol Brewer. Here, you can find information about the aim of the application, the author, the application and the terms of use.
Help Button This button leads to the Map Symbol Brewer help.


Map Export Button - inactive This button is inactive. It indicates that you need to finish your adjustments in the current menu point, before you can use this option.
Upload Button - pressed This button is active and pressed. It indicates that you are currently working in this menu point.


Take a look at the lower left corner of your screen.

Status bar

This status bar shows you the status of the application. If you produce errors (e.g. if you try to upload an invalid file), the status will help you to find the error.
The main part of the application in the middle of the screen will change depending on the chosen menu point.


down Using the Map Symbol Brewer online

The application consists of 3 parts, ordered as follows:
  • the File Upload (upload of your data)
  • the DiaML Generation (generation of the map symbol description)
  • the Map Export (export of the map symbol layer or the symbol description)

File Upload

In this application part you can upload your own data or use a given dataset (map and data of Europe). For more information about the needed file structure read the help points "Structuring Files for Upload", "Structuring Map Information Files" and "Structuring DiaML Files". If you want to use your own data you should upload in minimum your file containing the data and a map information file (or fill the form fields for the corner coordinates) and press the "Upload" button. If you just want to check the functionality of the prototype and play a little bit with the parameters, use the form on the right hand side and press the button "Use test data". If something goes wrong, an error message appears in the status bar. Else, the "DiaML Generation" button becomes active in the main menu.

DiaML Generation

Map Symbol Brewer GUI On the left hand side you can see a preview area. You cannot change anything there! Use the menu on the right hand side to choose your options.








Map Symbol Brewer - DiaML tabs The inactive tabs become active, if the options are chosen in the current menu.

The tabs follow a specific order. First, you have to choose the type of the symbol (simple symbol for 1 data value, diagram for more data values). Secondly, you have to choose a primitive and set the primitive attributes. In a third step, the arrangement principle needs to be defined. Step number 4 defines the colors for each part of the map symbol. In the fifth step, select guides for your map symbol (for some symbols this point is not allowed). Here, also interactivity can be added to your map symbol.


Map Export

In the sixth step the generated map symbol description can be downloaded as DiaML file in the XML format. As second export option, you can export the whole map in the SVG format. If you selected interactivity for your map and want to use it offline, you should download the ECMAScript file too and adapt the location of the script to your needs. As alternative, you can export only a SVG group and insert it in your own map.

Map Symbol Brewer - Export

Generally, you have to click on the links to open the generated files in a new browser window. Note, that the file is shown as text in the new window (for browser compatibility reasons). Just remove the file extension ".txt" from URL, and you can see the code in XML or SVG.



down Using the Map Symbol Brewer offline

An offline version of the Map Symbol Brewer is planned, but currently not available. The workflow is the same as in the online version.



down Structuring Files for Upload

For the generation of map symbols in the Map Symbol Brewer application the following data file structure (without headline!) is necessary:

coordinateX coordinateY id data1 data2 data3 ... datax

The coordinate entries determine the reference point of the map symbol. They should be stored as numbers in integer or float format. The id is a unique identification number of the appropriate map symbol. Here, place names or number-letter-combinations can be used. The id's should be stored in the text format. Note, that id's must not contain special characters. Furthermore, it is not allowed to start with a number. The data columns can contain your data values for the appropriate point of reference. The entries should be stored as numbers.

The Map Symbol Brewer can import text files with the extensions *.thm, *.txt, *.csv. As separators tabulators, commas and blanks can be used. You can create these text files with a standard text editor, OpenOffice Calc or Microsoft Excel. Also XML files (*.xml) can be read. The XML file should use the following structure:

<data>
    <dataset x="-400000" y="-2300000" id="BE" pop0_14="" pop15_24="410.2"
        pop25_34="1320.5" pop35_44="1352" pop45_54="978.6" pop55_64="271.2" 
        pop65_plus="32.5" />
    <dataset x="-50000" y="-2900000" id="DK" pop0_14="" pop15_24="445.3"
        pop25_34="701.4" pop35_44="709.1" pop45_54="668.4" pop55_64="314.7"
        pop65_plus="15.9" />
    ...
</data>



down Determine Corner Coordinates

Look at the following graphic:

Coordinate system
The upper left coordinate is the origin point of your map. The lower right coordinate is the destination point of your map. With these coordinates the the extent (width and height) and the area of the map can be calculated. The area is used to adapt the symbol size to the map extent.



down Structuring Map Information Files

A map information file contains the X- and Y-coordinates of the map origin and destination point (corner coordinates, see help point "Determine Corner Coordinates" for more information). These points determine the extent of the map. As alternative you can type the coordinates directly in the appropriate form fields. See this example (used for the test data) to understand the structure of a map information file:

<mapinfo xmlns="https://www.oschnabel.carto.net/mapsymbolbrewer"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="https://www.oschnabel.carto.net/mapsymbolbrewer 
	https://www.oschnabel.carto.net/mapsymbolbrewer/schemas/mapinfo.xsd">
	<originX>-2576785</originX>
	<originY>-5200370</originY>
	<destX>3397005</destX>
	<destY>-10400660</destY>
</mapinfo>

Download the Map Information XML schema!



down Structuring DiaML Files

DiaML (Diagram Markup Language) is a XML based language for the description of map symbols. A DiaML file contains all necessary information and attributes to create map symbols, but no data or graphical objects will appear there! See this example (proportional circle) to understand the structure of a DiaML description:


<symbol xmlns="https://www.oschnabel.carto.net/mapsymbolbrewer"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://www.oschnabel.carto.net/mapsymbolbrewer 
    https://www.oschnabel.carto.net/mapsymbolbrewer/schemas/diaml.xsd">
    <style id="s1">
        <fill>yellow</fill>
        <stroke>black</stroke>
        <stroke-width unit="pixel">1</stroke-width>
    </style>
    <primitive id="p1">
        <circle proportional="area">
            <r scale="dataValue">1</r>
        </circle> 
    </primitive>
    <simpleSymbol minSize="2" areaRatio="10.0">
        <simpleArrangement>
            <centered/>
        </simpleArrangement>
        <simpleRelation>
            <dataRef>YOUR_COLUMN_NAME</dataRef>
            <primitiveRef>p1</primitiveRef>
            <styleRef>s1</styleRef>
        </simpleRelation>
        <guides></guides>
        <labelData>yes</labelData>
    </simpleSymbol> 
</symbol>

The same structure is used for diagrams (instead of simpleSymbol, simpleRelation and simpleArrangement diagram, diagramRelation and diagramArrangement will be used.). Validate your DiaML file with the following schema:

Download the DiaML XML schema!



down More about the Theory behind this Tool

In general, map symbols consist of primitives (e.g. pie sectors). Each primitive is constructed and scaled using data values. These primitives can be arranged with arrangement principles (e.g. around a point of reference). Furthermore, guides like background objects or lines can be added to support the message transported with the symbol. Also graphical properties like colors, patterns and strokes can be applied to the primitives. The result is a layer of map symbols, reflecting the theme in a cartographic way.

Read more ... (PDF, 6.1 MB only in German)


Map Symbol Brewer - About the Project

The theory of map symbol construction and the associated prototype were developed during the PhD thesis. Aim of the project was the easy visualization of statistical data with map symbols, especially diagrams. The PDF document of the thesis can be read here (thesis text as PDF, 6.1 MB, only in German).
Please report bugs and send improvements to oschnabel {at} gmx {dot} net

Olaf Schnabel, Author and Programmer of the Map Symbol Brewer Author and Programmer: Olaf Schnabel













About the Prototype

Original document site: https://www.oschnabel.carto.net/mapsymbolbrewer/

Version: 1.0

Copyright: © 2004-2007 Olaf Schnabel

Use Restrictions:
This application is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This application is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this application (lesser_gpl.txt); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Please contact the author in case you want to use code or ideas commercially. The commercial use of this software or parts of this software is forbidden without the permission of the author!

If you use this code for private projects, please include this copyright header, the included full LGPL 2.1 text and read the terms provided in the LGPL 2.1 license (http://www.gnu.org/copyleft/lesser.txt)
Please give credits if you use parts of the code! You can link to the original site somewhere in the source-code-comment or the "about" of your project, thanks!

Zurich, December 2006

down