Citizen Mapmakers & Data Artists
Putting Important Issues on the Map -- and on the Web

Source Code Downloads for
1) CitizenMapmaker.exe and
2) UTM2SVG.exe

Visual Basic developers: click here to download the source code for the CitizenMapmaker utility.

Click here to download the CitizenMapmaker utility executable (4/1/03; beta version 0.2)
 We issue an open invitation to Visual Basic developers to help build this utility. Mal Winslett has been taking the lead in developing and pursuing the Utility Development Goals listed below. He has posted these Goals, the code and additional thoughts on the project on his website.

If you'd like to chip in and partake in development communications you may contact either Mal at malwinsc@yahoo.com or Mike McCullough at mm@CitizenComputing.org


CitizenMapmaker Uiltity Development Goals
Status Description ID
current Determine what are the recommended practices regards javascript and SVG coding style. Debate of style="fill:blue;..." versus fill="blue" is first up. 0001
Done Error handling code for input boxes. Currently it will crash if there is no file selected for input or output. Improve error handling overall. 0002
Done Automatically set the ID attribute of the main element to the name of the source file (less the extension). 0003
Done Determine the file type from the filename. Step through each of the types in subsquent vers until all Census files are readable to incorporate the attribute data with the layer. 0004
Done Include an option to set the id based on parsing the filename. Would require the state codes or Federal code and the list of all types of files. Present in current current code, need to clarify which elements. 0005
Done Allow for the setting of display characteristics for each layer. Line thickness, color, type of line etc. (Helps with the multi layer goal). Improvements will be added per item (opacity and color picker). 0006
Done Show some visual display of progress or activity while the conversion is taking place -- maybe a line or two of the new code flashing by or a simple progress bar. Complete, needs improving though on output and scrolling. 0007
current Give the option to set a margin for the entire SVG file. Background color font used. 0008
Done FIPS code lookup. May add a lookup utility to the codebase off of this. Good because it will further abstract the sub routine. 0009
current Allow the use of labels from the attribute field file. Configurable. And still allows a different field to be used for the id. 0010
>Done Ability to convert multi layers. Present but will require tweaks based on DAT parsing routine and small adjusetments (reusing layer information and resetting). 0011
TBD Add UTM2SVG conversion routine. Opted to push file format conversions for Citizen MapMaker back currently. Focusing on DAT Files and the process. 0012
TBD Add mouseevents and allow the user to define which element_id will display onhover. Allow the user to define if the mouseover results in a popup style display or if it pushes the data elsewhere for use 0013
Current Allow the insert of SVG code before and after each element is produced. Allow for the insert of javascript code to specific elements. . Moved this to current, should be simple to add. Hard part will be coming up with snippets for easy insertion. 0014
TBD Give the option to see a list of all elements in file before the SVG is generated; optionally allowing specific elements to be edited. 0015
TBD Include an OLE SVG Viewer that allows for previews 0016
TBD include some legend symbols or artwork (compass rose) Will require that the elements be placed so the OLE SVG Viewer may or may not work. Will require the ability to locate mouse position and insert code for its placement. 0017
TBD Most recently used directories/files. 0018
TBD Directory locking for output and input. 0019
TBD RDF for information about districts etc. 0020
TBD Ability to export data in CSV format (mainly the attribute files). 0021
TBD Import and convert SHP/DBF/SHX files 0022
Debatable Import SVG and parse for editing. This will require a rudimentary XML parser as well as a SVG Parser. 0023
Debatable SVG Node editor. This would be a simple node editor to allow for editing attributes without loading all the data, skipping primarily the long/lat coordinates. 0024
Debatable Batch conversion. 0025
Debatable Ability to add basic shapes(rect,line, etc.) to generated maps. 0026
Debatable Create a framework allowing for file conversion plugins. Would allow developers to use VB5 CCE (free edition) to create .dll plugins. 0027
   
Download Visual Basic source code for beta version 0.1 of UTM2SVG.exe

Sample UTM boundary file (Year 2000 Denver Census tracts)
 Universal Transverse Mercator (UTM) coordinate systems are commonly used to define very local geographic systems with high precision. Geographic Positioning System (GPS) devices employ UTM coordinates. Here are a couple of instructional references on UTM:
  • How to Read the Universal Transverse Mercator (UTM) Grid
  • Using the UTM/MGRS map coordinate system


  • One goal for the CitizenMapmaker Utility is to incorporate other format conversions like UTM and MIF (MapInfo Format).


    Citizen Computing Institute | Contact
    A Project of the Citizen Computing Institute - a 501(c)(3) non-profit organization