Last week I came over Raphaël, a great JavaScript library for vector graphics visualizations, and I started playing around with maps and SVG again. Long time no see!
To bring some map content from ArcMap to Raphaël I used the VBA Macro I wrote 4 years ago in ArcMap. It still does the job and gives me clean vector graphics the way I want them. I couldn’t find a decent SVG export option for QGIS, although there are some efforts to improve that kind of functionality.
AsSVG, a Python geoprocessing script for ArcGIS is pretty good too. It provides some nice export options, such as pick style and data attribute fields, and I actually ended up using it a lot.
However, it’s 2009 and there are other ways available for sharing code then just providing a plain text file. So I ended up wrapping a bitbucket repository around it. Just in case if somebody is interested in working on or improving the script…
My favorite ArcMap extension Arc2Earth got updated and brings now rendered OpenStreetMap layers into ArcMap:
Previous versions supported map tile layers import from Virtual Earth, Yahoo! or Ask. Certainly a great feature which allows easy access to good and up-to-date base maps in many regions. The only problem is that without proper licensing it’s not possible to use them for commercial purposes. I’m not a lawyer, but as far as I understand the term commercial purpose, only loading and viewing those layers in ArcMap in a business environment (e.g. at the office) can already result in a license violation. Good license deals might not be such a problem at the enterprise level, for small businesses who need those maps here and there, it is quite often an issue.
Being able to load OpenStreetMap instead of Virtual Earth, etc. into ArcMap removes a lot of those licensing headaches.
OpenStreetMap data can be used freely under the terms of the Creative Commons Attribution-ShareAlike 2.0 license.
As long as attribution and share alike work for you, you can basically do whatever you want with OpenStreetMap in ArcMap – copy, distribute, print, derive, etc.
There is a long list of other new features and fixes that come with the latest release of Arc2Earth. OpenLayers as additional viewer for exported map tiles is one of those which caught my attention.
Maybe this feature is something already implemented in ArcGIS 9.2, don’t know, but I’ld love to create a map template where the author can LOCK certain graphic elements such as logos, frames, bars, references, etc.
We often deal with predefined map layouts which must not be changed. Our life would be easier if we could fix positions, colors or sizes of certain layout elements and let other ArcMap users just edit defined layout areas.
Currently if an ArcMap user loads a map template he gains full control over each layout element, which isn’t always the best idea.
It must be the heat wave, otherwise I can’t explain why today I had to accomplish some very unusual, not to say weird, GIS tasks.
One part of our work here is to collect and synchronize data from various regional or federal institutions and produce a national view of certain spatial planning related topics. The bandwidth of responds to our data requests is pretty broad: it reaches from colorful word or excel tables to every digital image format (particularly when it comes to geographic data and maps) you can imagine. GIS compatible data is unfortunately the big exception. The worst, and in the year 2006 still existing, answer you can get is “I send you the data by fax, ok?”.
Adobe Illustrator to ArcMap
During the last days we received some maps done in Adobe Illustrator. For some reasons GIS was ignored and the whole mapping was done exclusively by vector graphic editing. For print-only maps it was ok and we could add the delivered Illustrator files to our graphic outputs. But we needed the data in our Mapserver too.
The workaround I found was to export the features (points and polygons) from Adobe Illustrator to AutoCAD Interchange file (dxf) and then import this AutoCAD files into ArcMap. The import/export allows you to take over the layer information (the graphic elements were organized and grouped into different layers) as attribute like in any other dxf. Completely missing is of course a coordinate system. Once I had all the elements loaded into ArcMap I used the Spatial Adjustment tools to shift the former graphic elements to their right geographic location within my chosen coordinate system. To successfully complete the spatial adjustment you need to know the exact location (e.g. some graphic lines represent a known street network) of at least a few graphic features.
Of course you won’t achieve sub-meter accuracy by this method, but for a first rough import step it was ok. Further spatial adjustments along with other editing steps (such as adding attributes) need to be done on the imported data in order to ensure a certain quality level.
Coordinate system?
Another data set which was meant to be added to the Illustrator data was stored within an Excel table. First I thought great, somebody who understands my needs: the last two columns represented coordinate pairs. Fantastic! I’ll be done in 10 minutes. After the X/Y-import the data just didn’t want to match any coordinate system I knew. Whatever projection parameter I modified, the data just slipped around on my map, always slightly off my existing data (the position of some features was known). It took me the whole morning to figure out what was wrong with the coordinate pairs: every third coordinate pair applied to another coordinate system. I’ve never seen such a data compilation before. After splitting everything up, defining the right coordinate system for each pair and putting them together again I could add this data my maps.
If today’s data struggle wasn’t enough, my PC was behaving sluggish and unmotivated all day long. Must be the heat or a signal to go home now.