Cartographica 1.4.5 Available

Cartographica version 1.4.5 shipped on March 2, 2015 providing mostly bug fixes for the 1.4 series and increasing compatibiility with large-record shapefiles (contrary to the documentation, a number of products, including ESRI's products, are now using a 32,767-byte limit instead of a 4,095-byte limit for records in the DBF files.

Release Notes for 1.4.5 are available from

Cartographica 1.4.3 Released

We are pleased to announce the release of Cartographica version 1.4.3, our latest minor feature and bug fix release.  As with previous versions of 1.4.x, 1.4.3 is compatible with OS X versions 10.7, 10.8 and 10.9 (and we've also done some preliminary testing on 10.10).

Features that we have included in the 1.4.3 release include:

  • Improved AppleScript® support for analysis tools
  • Added Selection Summary window
  • Improved handling of GML layers with multiple geometry types
  • Added support for .tab files as georeference information for TIFF files
  • Improved character set support for import

These accompany an array of bug fixes described in more detail in the Release Notes for 1.4.3.

This update is avialable to all customers.  In addition, we are resetting the clock for trials, so if you have tried 1.4.2 or earlier and want to try again, please visit the Lost Key page and enter your registered email address to receive a 10-day trial of 1.4.3.

Selection Summary

One significant addition to 1.4.3 is that of the Selection Summary window, which shows statistical information for the currently selected features. In the past, Cartographica has provied the Selection Info window, which allows you to peek at the details of the selected items, and this new option expands on that to provide statisical information about the selected items.  In particular, the Count, Sum, Average, Minimum, and Maximum values of the user-selected column are shown in the Selection Summary window, so you can quickly identify this information about any selection and any column.  

In addition, when the selected column is a Calculated Column, Cartographica allows you to choose Formula calculated using summary values which calculates the formula over the summary values as opposed to creating the summary values from the post-formula values.   Although in the case of simple formulas, this may have similar results, for some formulas it provides a different insight.  It is important to understand these implications, as the default case (sum of the formula values, average of the formula values, minimum of the formula values, minimum of the formula values) can differ greatly from the application of a formula to the sums of the components, the averages of the components, the maximums of the components, and the minimums of the components.  In most cases, the default case is appropriate.

Technical Details

Additionally, we have moved to linking against the 10.9 libraries in OS X.  This is an internal change and should have no noticable effect on customers who are currently running Cartographica under 10.8 and 10.7, as we have taken pains to isolate the use of the few 10.9 dependencies and made sure that they are only used under 10.9.  Further, our automated test systems are run on 10.7, 10.8, and 10.9 to ensure maximum compatibility.   However, there were some changes to the way internals are handled under 10.9, which required us to spend more time on this update than originally expected.


National Atlas and National Map changes

The USGS has announced that the National Atlas will be taken out of service as of September 30, 2014. According to the detailed product availability information, much of the data will be available via the to-be-enhanced National Map system, or as data downloads "at no cost from Earth Explorer".

This transition appears to be mostly a resource realignment (basically reducing the number of sources and web sites they need to maintain.

In addition, the USGS has also announced that "[L]ater this year we will deliver these new framework datasets at one million-scale: networked hydrography, updated streams and waterbodies, streamflow gaging stations, cities and towns, Federal lands, Indian lands, wilderness areas, and urban areas."

For those of you who are using USGS WFS and WMS services, based on the National Atlas, be warned that the services will be taken away September 30, 2014, but that the USGS is " currently evaluating options for continuing small-scale Web services beyond September 30, 2014, and will provide updates here."

Cartographica 1.4.2 Available

Cartographica 1.4.2 is now available, and it's got a little bit of everything to it: new features, performance enhancements, and bug fixes.

This release ended up taking a bit longer than we expected as we have been working hard to fix the bugs reported in 1.4 and 1.4.1.    But, we haven't just been working on fixing bugs, we've also been enhancing the capabilities and performance of the existing capabilities of Cartographica, with improvements in everything from WFS compatibility to execution speed and progress information for many of our analysis tools.

I won't take up the space here to enumerate all of the changes, as they are covered almost exhaustively in the release notes, however I will point out a few of the areas we have been working on.

Analysis Tools

We introduced a lot of new tools in version 1.4, and we have been making improvements to the performance and interface for these.   In particular, almost all of the analysis tools provide more progress information now and may be cancelled.   For those who work in more than one window at a time, Cartographica no longer makes you wait in all windows while analysis is performed for one window.   This means you can continue to work on another map while performing more complex analysis on a map in the background.   All search and overlay operations are substantially improved and we are continuing to follow additional optimization paths (while maintaining accuracy).


Because of the Bing geocoder service that we also support, many folks don't use the built-in geocoder.  However, for tasks involving historical data, or large amounts of data being proccessed in a small area, it's often a faster mechanism (and it doesn't require a network connection).  In this release, we've significantly improved the handling of whitespace, negative address ranges in the streets files, additional abbreviations, and support for streets whose names begin with "Ste".

File Import/Export

Most of the changes to file import involved upgrading to the most recent libraries for external file formats, such as MrSID®.  These should improve compatibility and performance.

For export, we've fixed a bug involving line style export to Illustrator and enhanced the Save window to include file extensions that appropriately default for the selecte file type.

ESRI File Geodatabases can now receive the entire map instead of being broken into a set of GDB files per layer.

Live Maps

The big change for live maps is that Custom OSM layers can now point at basically any tile source that uses a similar format to OpenStreetMap but isn't actually an OpenStreetMap server.   For those of you with access to tiled services from an ESRI ArcServer map, this means that you can access those tiles from Cartographica as well. For an OpenStreetMap server, you can just use the URL of the service in the box.   For other services, you'll need to use a more complete URL with {zoom}, {x}, and {y}, representing the zoom level, x tile id, and y tile id.   Here are some examples:

For ESRI ArcServer maps, end the URL with {zoom}/{y}/{x}, so if the base URL of the map is


the URL you would use is:


For Google-style maps, the URL is more complicated, so if the base URL of the map is

the URL you would use is:{x}&y={y}&z={zoom}&scale=2&s=Ga

At the moment, all of the key services are using the same CRS, which is the Web Pseudo-Mercator and thus Cartographica will automatically determine the right information and display it correctly.

WFS Layers

We continue our improvement of support for WFS layers.    This release includes better handling of WFS 2.0.0 servers (such as most recent versions of GeoServer) as well as backwards compatibility with older 1.1 and 1.0 services.   We also fixed a bug in handling single polygon layers in GMLv3 layers (multipolygon layers were fine).   

The Web Feature Layer Attributes window (available from Layer > Web Feature Layer Attributes... and when you add a new web feature layer using File > Add Web Feature Layer...) has been enhanced to allow limiting of requests to the server (necessary for some servers that don't know their own limitations) and the introduction of manual filters.    We hope to make filters easier in future versions, but for now if you know the XML filter language (or can have somebody work up a filter for you), then you can paste that directly into the Filter box and it will be applied to layer requests.

The Future

We have many plans going forward, including improvements to our existing features and additional features for analysis, presentation and exploration.   We sincerely appreciate your support.

Mapping Mountain Top Removal is an organization that, "is the product of 14 local, state, and regional organizations across Appalachia that are working together to end mountaintop removal coal mining and create a prosperous future for the region." Together this group provides information and research to the public about the problems that mountain top removal mining has cause, and continues to cause in the Appalachians. 

According to, "Mountaintop removal is a relatively new type of coal mining that began in Appalachia in the 1970s as an extension of conventional strip mining techniques. Primarily, mountaintop removal is occurring in West Virginia, Kentucky, Virginia and Tennessee. Coal companies in Appalachia are increasingly using this method because it allows for almost complete recovery of coal seams while reducing the number of workers required to a fraction of what conventional methods require."

Part of the problem with mountain top removal is that the processes is destructive to the environment and the local habitats in the area where the mining is occurring. "Before mining can begin, all topsoil and vegetation must be removed. Because coal companies frequently are responding to short-term fluctuations in the price of coal, these trees are often not even used comercially in the rush to get the coal, but instead are burned or sometimes illegally dumped into valley fills" ( Addittionally, "While reclamation efforts such as stabilization and revegetation are required for mountaintop removal sites, in practice, state agencies that regulate mining are generous with granting waivers to coal companies. Most sites receive little more than a spraying of exotic grass seed, but even the best reclamation provides no comfort to nearby families and communities whose drinking water supplies have been polluted and whose homes will be threatened by floods for the hundred or thousands of years it will require to re-grow a forest on the mined site" (

The problem that is attempting to combat is inherently a spatial problem, and due to this fact they disseminate a lot of interesting spatial data to help promote additional research and understanding by the public. To help highlight the problem that they are pointing out this blog post uses a number of the dataset provided to create maps and help visualize the problems. To download the data visit their data download webpage

Before importing any of the data, first add a Live Map by choosing File > Add Live Map. This will provide a basemap and will allow you to see what the mountain top removal sites look like based on satellite imagery. Additionally, a shapefile of U.S. States was imported by choosing File > Import Vector Data to more clearly show the state boundaries in the area. Download the states shapefile at the U.S. Census website. Once the basemaps are imported you can import each of the shapefiles provided by by choosing File > Import Vector Data.

The first map below shows all of the mountains that are being or have been mined in the Appalachian region. This is the NRDC_500_Mountains layer. The mountains have been color coded to indicate the states that they are within. To color code the mountains double-click on the mountains layer in the layer stack, change the based on option to state, click on the gear box and select Distribute Unique Values (4), and then assign colors to each of the categories. 

The next image shows all of the active mines in the region. This is the Active_Mine_Sites layer. The large red points are the active mine locations.

The next image is a Kernel Density Map of the Active Mine sites. To create a KDM select the Active_Mine_Sites layer in the Layer Stack and then while holding down the option key choose Tools > Create Kernel Density Map. Select the Visible Area option and then click Analyze. 

The next image is a look at the satellite imagery of the largest hot spot located in Southeastern Kentucky. Notice the large gaps in the tree canopy. 

And a closer look at a large mine near Lamont, KY.

The final maps show the mines as digitized polygons highlighting the amount of area taken up by the mines. This is the Skytruth_Mines_Merge layer. 


Using Spatial Join to Identify Elevation for Points

An owner of a golf course is working on redeveloping his golf course and has hired an analyst to help with the process. To make the process more streamlined and efficient the analyst is using GIS to help identify and plan various aspects of his new project. As part of the project the analyst needs elevation data for the greens on the golf course. He wants to know the elevations of the greens so that he can determine the best way to add new approaches and shots. Cartographica can help in this process by using Digital Elevation Models. To obtain the elevation data the analyst went to the Kentucky Digital Elevation Model Download Center. On this website the owner downloaded the K42 DEM. 

After downloading the DEM import the file into Cartographica by choosing File > Import Raster Data. Once the DEM is imported into Cartographica you can create a contour map that will provide the needed elevation data. To create a contour map choose Tool > Create Contours. Set the increment value to 5. In the case we want highly accurate elevation data so we will use a small increment. Set the base value to 0. See below for an image of the create contour windows. 

Next, we need to create a layer showing the location of the greens on the golf course. To do this we can use satellite imagery and the Add Feature tool. Choose File > Add Live Map. Select the Bing Map layer in the Layer Stack and the choose Layer > Include in Map Extent.  Uncheck the K42 layer in the Layer Stack. Zoom in to the Lower Left Corner of the Contours layer and look for High Point Golf Club. Once you find the golf course uncheck the contours layer. Choose Layer > New Layer and then Edit > Add Feature. Select to Add a point layer and then add points on top of the greens. See below for an example of the add points process. 

See below for an image of the full set of points. 

We can highlight the general elevations of in the area by showing color differences for the various elevations. Double-click on the contours layer in the Layer Stack to bring up the Layer Styles Window. Change the based on selection to Elevation. Add four categories by clicking on the + button four times. Choose Window > Show Uber Browser and then click on the palettes tab. Select a palette and while holding down the option key, click and drag it to the table in the Layer Styles Window. See below for images of the Layer Styles Window and the Contours. 

And the Contours

Finally, we can perform a spatial join to join the elevation data from the contours layer with the greens points layer. This join will add a new column to the greens points that contains the elevation data so that the analyst can determine the elevations for each of the greens. To perform the spatial join choose Tools > Spatial Join. Select the Closest option and type in 50 meters in the distance box. The distance value is used to specify a search radius for the Closest operation, which will select the nearest feature in the Contours layer and use it as the feature to be joined. The Closest operation is preferred over the Within Distance operation in this context because the Within Distance operation will find all matches and then randomly select a value where as the Closest operation will only find the nearest feature. Uncheck the discard unmatched features box. See Below for an image of the spatial join window. 

Finally, using the Layer Styles Window you can show the elevations of each of the points using the Item Labels. See below for the final image. 

Mapping Shale Gas and Shale Fracturing (Fracking) Sites in the United States

Fracking has become a hot button topic among environmentalists and politicians over the past 10 years. Shale Gas is a type of natural gas found deep within shale rock formations. In 2000 shale gas provided only 1% of U.S. natural gas production; by 2010 it was over 20% and the U.S. government's Energy Information Administration predicts that by 2035 46% of the United States' natural gas supply will come from shale gas (Wikipedia, 2013). There is significant debate about whether fracking should be increased to these levels due to the environmental risks associated with the fracking process. Opponents of fracking argue that the extraction and use of shale gas can affect the environment through the leaking of extraction chemicals and waste into water supplies, the leaking of greenhouse gasses during extraction, and the pollution caused by the improper processing of natural gas. A challenge to preventing pollution is that shale gas extractions varies widely in this regard, even between different wells in the same project; the processes that reduce pollution sufficiently in one extraction may not be enough in another (Wikipedia, 2013). However, proponents of fracking argue that shale gas represents a significant improvement when compared to other fossil fuels, and may even help stem growth in greenhouse gases. Also, shale gas and the associated industry can greatly improve the United States' ability to become energy efficient and self sustaining. No matter you perspective on this issue it may be of interest to you to find out where fracking and the related industries are taking hold in the U.S. In this post we use data from U.S. Energy Information Administration. The image below shows the basic idea behind fracking. 

The first map below shows the shale basins within the U.S. These are areas where there is enough shale gas fracking to occur. To download this data click on the EIA link above and then scroll down about half way down the page until you see the "Geospatial Data in Shapefile (.shp) Format". Click on the the Shapefiles for Basin Boundaries under the Data for Shale Plays Map heading. To import the data choose File > Import Vector Data. To add the live map as a basemap choose File > Add Live Map


 The second map below show the areas known as Shale Plays, which are areas that have shale gas currently being harvested using fracking. The areas being harvested are dark red.



Recently, fracking made the news when NASA released satellite imagery highlighting the growth in fracking in undeveloped areas around the country. Specifically, NASA highlighted the growth in nighttime lights in the North Dakota region, which is a relatively undeveloped part of the county. Despite the low levels of development there are significant nighttime lights visible in areas where shale gas fracking operations are underway. Download a Geo.tiff image created by the Visible Infrared Imaging Radiometer Suite (VIRUS). Once you download the image you can import it into Cartographica by choosing File > Import Raster Data. Below is an image showing the geo.tiff with the Shale Plays layer. 

And a closer look at the increased nighttime lights due to fracking operations in North Dakota. 


Analysis with Live Maps: Mapping the Location of Important Naval Ships

Live Maps can be used for many purposes. On this blog we have highlighted the use of Live Maps for georeferencing images, identifying geological features, and providing context to local area studies. Another useful purpose of Live Maps is locating objects that are tied to specific places. What does that mean? It means we can look at places where we expect things to occur and make observations at those locations. In addition to making observations and identifying objects we can also use Cartographica to analyze what we see. 

If you have followed this blog at all you might have notice that I have a light obsession with all things military. Part of the reason is that military objects (especially naval) make interesting maps. Over time I have determined the locations of several interesting military ships and before Bing Maps gets updated I wanted to provide a look at these locations while also conducting some analysis and highlight a few of the functions of Cartographica. Below are a few descriptions of some of the most recent additions to the United States and Chinese Navies. 

The U.S.S. Gerald R. Ford (CVN 78): 

The U.S.S. Gerald R. Ford is the newest addition of the U.S. Navy Aircraft Carrier and is the first ship in the new Gerald R. Ford Class of supercarrier. The new carrier comes at a cost of $13.5 billion and it includes numerous improvement over past classes of carriers. One of the biggest improvements is the aircraft launch system which moves from steam power to electromagnets. Like other nuclear powered carriers the GRF will have an unlimited service range for a period of 25-30 years and will only need to come to port for supplies and regular maintenance. The ship is being built by Huntington Ingalls Industries in Newport News, VA. Below is an image of the port where the ship is being constructed. Like a game of ISpy, do you see the ship?

To highlight the location of the of the GRF add a new feature by choosing Layer > New Layer and then Edit > Add Feature. Select to add a polygon feature and then trace the outline of the ship. 

A closer look at the U.S.S. Gerald R. Ford under construction.

Chinese Aircraft Carrier: Liaoning

Recently the Chinese military acquired an 67,500 ton Soviet era aircraft carrier and has spent the past several years refurbishing and upgrading the ship to make it battle ready. Last November, China landed its first plane on the surface of the Liaoning. See this CNN video of the plane landing. Below is an image of Dailan, China where the Liaoning has been under construction for several years (its has completed tests in the Yellow Sea). Again, like a game of ISpy, do you see the ship?

We can again create a new feature to show the location of the ship choose Layer > New Layer and then Edit > Add Feature. Select to add a new polygon feature and then draw the outline of the ship. 

A closer look:

Based on the polygons that we have create we can use Cartographica's table tools to help enhance what we know about the ships. First, add a new area column to each of the new polygons so that we can see the size of each ship's deck space. To add the area column choose Tools > Add Area Column. Based on this analysis the Gerald R. Ford has a deck space of 32,356 square meters and the Lioaning has a deck space of 27,494 square meters. Also, we can add polygon coordinate columns which will give us the coordinates for each of the ships. To add coordinate columns choose Tools > Add Centroid Coordinate Columns. The final map below shows the general location of the ships. 

Creating Elevation Contour Maps from Digital Elevation Models

A new feature in Cartographica version 1.4 is the ability to create contour maps. In GIS, a contour line joins areas of equal elevation above a given level, such as mean sea level. contour map is a map illustrated with contour lines, which show valleys and hills, and the steepness of slopes. In this sense a contour map can be very useful in many contexts. One method for creating contour lines is by using Digital Elevation Models (DEM). A DEM is a digital model or 3D representation of a terrain's surface — commonly for a planet (including Earth), moon, Mars, or asteroid. Typically DEMs are created based on data that are retrieved through remote sensing technology. Remote sensing technology typically refers to and includes specialized sensors that are attached to various satellites or aerial vehicles that makes observations on the surfaces of their target object. 

In this post we emphasize the use of the new contour mapping functions in version 1.4 by using data from the Kentucky Division of Geographic Information. The data on the DGI website are free for download and include DEMs for the entire state of Kentucky.  To illustrate the contour mapping we will use data from the Middlesboro, KY area.  An interesting geological feature about Middlesboro is that experts believe that its location between Pine Mountain and the Cumberland Mountains is actually an ancient crater from an asteroid impact. This fact makes Middelsboro among the few cities in the world that is seated within an impact crater. 

In order to view the entire area for Middlesboro we actually need to download 4 separate DEMs. We need the cells U47, U48, V47, and v48 from the DGI link listed above. To download the DEMs individually control-click within each cell and then select Download Linked File as. Save the Files to your Desktop.   

To import the DEMs choose File > Import Raster Data. The following image shows what your map should look like. 

Notice the blue colored circular area near the center of the map. That is the location of Middlesboro and the fairly clear outline of an impact crater. Next, we are going to create contour lines for each of the DEMs that will show the differences in elevations throughout the map. To create contour lines select the DEM layer in the layer stack and then choose Tools > Create Contour Lines. This step has to be done individually for each of the DEM layers. A window will appear that allows you to choose the increments and the base. Select 50 as the increment and leave the base at 0. See below for the contour window. 

When the contour lines are created they will all be black in color. In order to enhance the visibility of the contours we need to adjust the color schemes. Double-click on the U47 DEM in the Layer Stack. Change the Based on selection to Elevation. Click the + button below the table 6 times and then click the Gear box and select Distribute with Natural Breaks (Jenks). Next, choose Window > Show Uber Browser, click on the Palettes tab, and while holding down the option key click and drag a color palette of your choice into the table within the Layer Styles Window. In the map presented below a blue-red scheme was used where blue = lower elevations and red = higher elevations. Repeat this process for each of the DEMs. See the images below for an example of the Layer Styles window and the map.

Layer Styles Window:

Contour Line Map:

The next image is a closer look at the Impact Basin. Also the following image has the DEM layers turned off and a Live Map added. To add a live map choose File > Add Live Map.

Street Segments as Units of Analysis: Spatially Joining Points and Lines

Recently, authors David Weisburd, Elizabeth Groff, and Sue-Ming Yang published a book titled The Criminology of Place: Street Segments and Our Understanding of the Crime Problem. The crux of the book is that in Criminology and other disciples have a long history of using geographic units of analysis that are area based. That is, we have become accustomed to using polygons as units of analysis. Part of the reason for the use of area based units of analysis is that demographic and social data are available through sources like the United States Census Bureau. In the book, the authors make a compelling argument that area based studies miss a lot of spatial variation that occurs at lower levels of analysis. In an attempt to combat the loss of information through aggregation the authors show that using street segments as units of analysis may be a viable alternative to area based units of analysis. 

In the spirit of using street segments as units of analysis we thought highlighting how to use Cartographica to aggregate data points to street segments would be a fun and interesting exercise. Recent upgrades to Cartographica 1.4 include the ability to spatially join data based on their spatial association. This includes joining points to lines. 

The data being used in this example are from Washington D.C.'s GIS repository DCGIS. The data are 2011 crime incident locations and a street file containing all of the street segments in the city. To import the data into Cartographica choose File > Import Vector Data. Below is an image of the data described above. At first glance it appears as though the points are "on top of" the line segments. Observe. 

However, upon closer inspection you can see that the points are not directly on top of the lines. As a result, we will need to use a distance based spatial join to join the crime points to the line segments. 

Because we want to join the crime points to the street segments we first need to select the Streets layer in the layer stack. Once selected, choose Tools > Spatial Join. The following image shows the set up for the Spatial Join. Uncheck the Discard Unmatched Features so that the new join layer will have all of the street segments including those that have zero crimes. Note that the "Within Distance" operation is selected and a distance of 50 meters is the designated distance. Also note in the table that the 2011 crime data fields are set to ignore. The reason for this is that at this point we do not need all of the excess crime information. All we want is the counts of crimes on the various street segments. Finally, note that the last field in the table "Join Count" is selected to be copied. This will be the new field on the street segments layer that will contain the crime counts. 


After the points are counted and aggregated to the street segments you can reclassify the counts into groups and then vary the street segment colors by the groups. Double-click on the streets join layer in the Layer Stack to brig up the Layer Styles Window. Add three categories to the table by click on the + button. Click on the Gear Box and select Distribute with Natural Breaks (Jenks). Change the colors of each of the categories by clicking on the fill box and choosing a series of colors. See the map below for the final result. 

Best Open Geodata Release of 2012: Philadelphia Open Data

With the end of the year approaching everyone is putting out their "Best of" list for 2012. Emily Badger of The Atlantic Cities recently released a list of the "Best Open Data Releases of 2012". These open data sources are available through various agency and government websites and allow users access to data sources that include geospatial data. 

We decided to check out a few of the Open Data sources and wanted to create a few maps using Cartographica. The Philadelphia Open Data website was listed as the best Open Data website of 2012. We were able to download a .csv file for all of the crime incidents in Philly since 2006 from the website. Download the Philly Crime data.  

To start, add a Live Map to use as a baseamp by choosing File > Add Live Map

To geocode the data using Cartographica choose File > Import Table Data. The Import File window will appear. Select the coordinates tab in the top right. Change the Map to selection for the Point X and Point Y fields to X (or longitude) and Y (or latitude) and then click Import. See below for an example of the set up. 

*When we geocoded the Philly Crime data 164 incidents were geocoded to the Cincinnati area. Upon further inspection the points were geocoded to the appropriate location based on the data entries. The X and Y coordinates for all of the 164 incorrect points were, -84.69369121 longitude and 39.1207947 latitude, which places the points at the corner of Salyer Ave and Goodrich Lane just West of Cincinnati. These points were considered erroneous and were discarded. To delete the points select them using the identify tool and then choose Edit > Delete. 

The map below shows the geocoded crime incident points in Philadelphia since 2006. The Philly_Crime layer contains 592,064 crime points. 

You can filter the data by using the Filter bar. Change the Filter bar selection to Text_General_Code and then type in Homicide. The data will be filtered to only show homicide incident locations. Since 2006, there were 3051 homicides in Philadelphia. Use the identify tool to select all of the points and then hold down the option button and choose Tools > Create Kernel Density Map for Selection. The result of the KDM analysis is shown below. The red areas indicate places where homicide was highly concentrated.


A closer look at central Philadelphia.

Another way to filter the data is by date. The Philly_Crime layer contains a field called Dispatch_2 that contains the date of the offense. With the Philly Crime layer selected in the layer stack type in 12/31/2010. A small box will appear at the top of the Map Window. You can filter based on multiple criteria to limit the dataset to any year that you want. To select only the 2011 data use the settings shown below. Notice that we are selecting crime incidents that fall between 12/31/2010 and 1/1/2012. 

Use the identify tool to select all of the 2011 crime points and then choose Layer > Create Layer from Selection. The new layer should have 82197 crime points. You can repeat these steps so that you can create a new layer for each of the years in the data set. Create another Kernel Density map by Choosing Tools > Create Kernel Density Map. The result of the KDM analysis for the year 2011 data are shown below. 

Mapping the Syrian Conflict

The violence associated with the Syrian revolution continues to escalate as recent reports have indicated that Bashar Al-Assad's forces have begun to use SCUD missiles in attempts to drive back rebel forces in the area near the Syrian Capital. SCUD missiles are infamous for their use by former Iraqi dictator Saddam Hussein during the Persian Gulf War. Equally as infamous are the U.S. produced Patriot Missile systems that are designed to eliminate surface-to-surface missile attacks. Recent reports have indicated that American, German, and Dutch patriot missile battalions have been sent to Turkey to eliminate the risk to the Turkish people from possible SCUD missile attacks from across the Syrian border. Check out the article on the Huffington Post about the recent visit from U.S. Defense Secretary Leon Panetta's visit to Turkey regarding the Syrian conflict and the U.S. Patriot Missile response. See below for a diagram from Raytheon for how the Patriot Missile system works. 

In order to add more context to situation we have created a few maps to highlight the areas where the Patriot Missile systems are being deployed. The Patriot Missile systems are being deployed to Kahramanmaras, Turkey, which is about 70 miles North of the Syrian border. We can confirm the distance between Kahramanmaras and Syria by using Cartographica's Live Maps and measurement tools. See the image below for an example. To add a Live Map, Choose Tools > Add Live Map, and to use the measurement tools click on the measure tool button and then drag a line to determine the distance. 

We can also look at the radar and missile ranges of the Patriot Missile systems by using buffers. The radar used by the Patriot Missile system has a detection range of about 180 miles in all directions around the system. The map below shows how far the systems deployed in Kahramanmaras will be able to detect incoming SCUD missiles. To create the map you first need to add a new layer by choosing Layer > Add Layer. Add a new feature to the layer by choosing Edit > Add Feature and then select to add a new Point feature. Create a buffer for the point by Choosing Tools > Create Buffer for Layer's Features. Make the buffer for 180 miles. 

You can add to the map above by also creating a buffer for the effective range of the Patriot Missiles. The range is about 70 miles. Using the same steps as above create a second buffer for 70 miles. The map below shows the results. 


Using CartoMobile to Enhance Historic Sites

The United States National Park Service maintains and controls more than 84.4 million acres of park land in the United States. Much of the land is historical in nature and has been preserved for future generations to enjoy and learn about the various parks. The use of the parks is as varied as the many historical and ecological characteristics that define each unique location. One of the most popular types of parks within the United States are National Military Parks. These parks are typically located on the sites of famous battlefields and other important historical and strategic locations around the country. Among the popular locations for park visitors is the National Military Park at Gettysburg, Pennsylvania. Gettysburg was the location of one of the most important battles during the U.S. Civil War. The battle lasted three days and there were approximately 53,000 casualties combined. Gettysburg is also the location where Abraham Lincoln gave his most famous speech, The Gettysburg Address. Due to the significance of the battle the Gettysburg National Military Park hosts more than one million visitors per year as they take in the natural beauty of South-Central Pennsylvania and attempt to understand the military and historical significance of the battlefield. 

Having personally been to Gettysburg I can attest to the fact that the battlefield is quite large, and has a wide range of positions that are challenging to understand. This is especially true when you want to know where specific units and specific generals were located on the battlefield. The National Park Service has constructed monuments to give some idea about the locations of various units, but I think we can make the location awareness even better. In the following example, we highlight the ways in which Cartographica's and CartoMobile can be used to improve location awareness in the field. 

The process that is to be described involves a number of steps that we can summarize here.

  1. Locate a map of the positions of both armies. The image can be found by performing a Google search. To streamline the process I decided to only create layers for the infamous Pickett's charge that occurred on the third and final day of the battle. The map I used can be downloaded on the Pickett's Charge Wikipedia page
  2. Georeference the army position map using Cartographica. To georeference the image I used Cartographica's powerful suit of raster tools. To view the process for georeferencing an image check out the following links: Georeferencing Cold War Images, How to georeference images with Cartographica. The process for georeferencing begins by importing a raster image by choosing File > Import Raster Data, and then choosing Edit > Georeference Image
  3. Use the georeferenced image to create a polygon layer. In this step the goal is to use the georeferenced raster image to help draw new polygons in vector format. To draw new polygons first add a new layer by choosing Layer > New Layer. Next choose Edit > Add Feature. You will be prompted to select a layer type, select Polygon. At this point you can begin drawing new polygons by control clicking to add ground control points. The first image below shows the georeferenced Pickett's charge image. 

    The next image shows the new polygon being drawn.

    Note: when you look at the map there are a lot of individual units to draw. To make this process easier you can use Edit > Duplicate to quickly create an identical feature on the same layer. This allows you to quickly duplicate the first polygon you have drawn and simply drag it to the next unit position. For more information on adding features check out the following blog post, streamlining workflow when adding features. 
    The final unit position map (Note: the map below already has attribute data added, which is discussed next).
  4. Enhance the new polygon layers with additional attribute data. In the map above additional attribute data has already been added. Those attributes are the commander, unit size, and casualties of each unit during the battle. This step took a little additional research into what the units at the battle were comprised of. In general, my layers are estimates based on information about unit size, and casualties. Please do not take the numbers here as fact. Much more research is required to be more confident that these numbers are correct. To add a new variable/attribute  choose Layer > Add Column. Next, you can manually enter each unit commander name by typing within the Data Viewer. In my quick research I found that brigades (the army units in the map) were comprised of about 1000 soldiers. Also I found that the Confederates lost approximately 50% of their soldiers during Pickett's charge, based on those number I created the Unit Size and Casualties attributes. 
  5. Export the new polygon layers as shapefiles by choosing File > Export Layer's Features. Save the files to a desired location. 
  6. Use iTunes to add the new army position shapefiles to your iPhone. Open iTunes and sync your iPhone. Go to Apps and click on Cartographica. At the bottom, under File Sharing, click Add and then add the new polygon layers showing the army units. The image below shows what the iTunes set up should look like. (Note, Sallie the Christmas dog at the top!)
  7. Open the new shapefile in CartoMobile for quick reference while visiting the battlefield. See the images below.

Cartographica 1.4 and beyond

At ClueTrust, we're proud and excited to deliver version 1.4 of Cartographica into the hands of our customers.

This has been a long journey from the last major feature release to this one, and although we have added a lot of new functionality to the software and made many improvements, it became clear to us months ago that something was going to have to change for us to be more responsive to the needs of the market and our customers.

To that end, we have been bolstering our automated testing capabilities, enhancing our hands-on testing regime, and changing how we track and execute changes in order to reduce internal dependencies and ensure software quality while shipping enhancements more frequently.

We appreciate the patience that you have shown as we have gone through this transition, and we're excited to be able to move towards a more agile delivery schedule.

As we do so, we encourage all of our customers to use the Feature Requests section of our support site to provide us with ideas for features or enhancements.   We read it regularly and use it to gauge the interest in individual requests.

Going forward, we are setting a goal to release features every 6-8 weeks, and bug fixes between times as necessary.

Thanks again for being patient with us during this transition and we look forward to delivering an even better experience as time goes on.

Introducing Cartographica 1.4: Cluster Analysis

Cartographica 1.4 now has the ability to perform Cluster Analysis. Cluster Analysis involves choosing and setting a number of parameters that are used to identify "hot spot" locations of point level data. Clusters are areas that have high concentrations of a particular incident. Knowing where high concentrations of certain things are located can be a very valuable tool for analysts conducting spatial analysis. 

The two main parameters used to identify clusters are Minimum Count and Distance. Minimum Count allows you to determine how many points are needed to identify a cluster. For example, if the minimum count is set to 5 then no cluster that is identified will have fewer than five points. The Distance parameter is used to determine a search distance between points to identify nearby neighbors that are a part of clusters. Only points that meet the criteria in the parameters are used for the Cluster Analysis. The image below shows the  default setting for the Cluster Analysis window.

The Distance parameter has several options available.The Fixed Distance method will only identify point clusters that fit the Minimum Count criteria and are within a specified 'fixed' distance to other points. This is useful for comparing different types of points using the same criteria. For example, you might want to compare hot spots of Assaults and Robberies. However, the disadvantage of the Fixed Distance method is that the distance is arbitrary and is up to the user to decide. The Average Nearest Neighbor method identifies point clusters that meet the Minimum Count criteria and that have an average distance between neighbors that is greater than a threshold distance. The threshold distance is based on a K-order distance distribution. Where K is the number of nearest neighbors used to construct the distance distribution. A higher K-order will result in a distance distribution with a higher average distance between points, which will result in an output with a larger hot spot area. The Expected Mean Distance identifies points that fit the Minimum Count criteria and are within a randomly defined threshold distance. The confidence interval is used to set a probability that a pair of any two points are within the threshold distance. A confidence interval of 50% means that 50% of point pairs will not be within the threshold distance if the distribution of the points is spatially random.  The confidence levels are specified by using the slide bar. The positions on the slide bar correspond to the following confidence levels. 

Slide Bar PositionProbability
1 0.00001
2 0.0001
3 0.001
4 0.01
5 0.05
6 0.1
7 0.5
8 0.75
9 0.9
10 0.95
11 0.99
12 0.999

See the example below to see how Cluster Analysis operates using Cartographica.

DC Crime Analyst

As a crime analyst in Washington D.C. you are interested in knowing where crime clusters are located within the city. Identifying clusters helps you inform police officials about where to allocate additional resources to prevent crime. To identify crime clusters you need to analyze point level crime incident data. 

The crime data and basemap used in the example are available at DC_GIS. Import the data by choosing File > Import Vector Data.

To create a cluster map choose Tools > Find Clusters. Here you have to decide what the parameters of your Cluster Analysis will be. A classic problem in Cluster Analysis is determining how the parameters will be selected. In essence, the user gets to decide how the clusters are defined. While the clusters themselves are based on the locations of the data, the values of the parameters that define the Clusters are infinite. Therefore, the user needs to have good reason to set the parameters at specific levels. For a crime analyst, clusters should be sized based on the capabilities, resources, and methods available to address the problem. Clusters that are excessively large are too broad for crime prevention efforts to be effective, and clusters that are too small may be too restricted for police to respond effectively. The goal of Cluster Analysis and identifying and setting parameters is to create an output that allows the analyst to show locations where crime is a problem. In many cases this may mean that you need to experiment with the parameters in order to produce an output that helps you achieve your goals.  

To create the map shown below the following parameters were used. The Minimum Count was set to 10. The Distance parameter selected was Average Nearest Neighbor and the value was set to 5. 

The second image is a closer look at the clusters in Central D.C. Notice that many of the clusters are several blocks large and would be good for focusing crime deterrents that are effective for entire areas such a vehicle patrol. However, the image also shows many clusters that are quite small and that may require more localized attention from the police. 

Introducing Cartographica 1.4: Spatial Join

New to Cartographica 1.4 are the Spatial Join tools. Spatial Joins are used to combine the data attributes of two or more layers. The Spatial Join operation creates a new layer that is a combination of attributes from Join and Target layers. The Spatial Join functions are akin to the Overlay functions except that the Spatial Join procedure does not change the geometry of the layers. Spatial Joins can be used for many different purposes and there are many options for determining how the join will be processed.

A Spatial Join can be performed on point, line, or polygon layers. The new vector layer that is created after the Spatial Join will match the Selected layer's data format (i.e. point, line, or polygon). For example, if you select a polygon layer and then perform a Spatial Join (using an Intersect function) with a point layer as the Join layer, the output would be a polygon layer with attribute data joined from the point layer. In this case one attribute added to the polygon layer would be a count of the number of points that intersected with each polygon in the Selected layer. 

The default Spatial Join option is the Intersection function, which will join two layers that overlap in space. In addition to the Intersection function there are 15 additional methods for performing Spatial Joins that can be used to fit various situations. See the example below for an example on how some of the Spatial Joins functions can be used to help answer questions in real-world situations.  

DC Crime Analyst

As a crime analyst in Washington D.C. you are concerned with crime around public housing facilities. In order to help relieve some of your concerns you are employing GIS to identify problem areas.  Your goal is to identify crime incidents that are within 200 meters of public housing facilities. Based on you knowledge and experience of the city you have determined that a 200-meter distance is a sufficient distance to identify problem areas.

*The data used in this example were downloaded from DC GIS, but you can download the example files  here.

Start by importing the basemap, the public housing data, and the crime incident data by choosing File > Import Vector data.

To identify the crime locations that are within 200 meters of any public housing location within the city you can use the Spatial Join tool. To accomplish your goals you are going to perform two separate join operations. The first will involve joining crime points to a public housing polygon layer. The second will work backwards to join polygon attributes to crime points. The first join will allow you to create a count of the number of crime points within 200 meters of public housing sites. The second join will allow you to identify what of crimes are near the public housing facilities.

To use the Spatial Join tool you must first select a layer in the Layer Stack that you would like to have data joined to. Begin by selecting the Public Housing layer, and then choose Tools > Spatial Join.

The Spatial Join window has several components that need mentioning. The top of the window details the layers that are available to be joined to the layer selected in the Layer Stack (i.e. Join Layers). Note that the layer you  Selected in the Layer Stack is shown in the top Left of the Spatial Join window. The bottom of the window, called the Field Mapping window, contains the fields that are found in both data layers that are going to be joined. In the Field Mapping window pane you can choose to ignore certain fields if you do not want them added to the new vector layer. Additionally, you can select other aggregation options such as copy, min, max, sum, first, last, sum, average, count, and sigma (standard deviation). These options can be applied to any of the field options and they will create a new field in the join layer that has values based on the applied aggregation option. The Ratio checkbox will adjust the attribute data being joined based on the proportionate spatial relationship between the two layers. For example, if a Spatial Join is performed between two neighborhood polygon layers and there is only a 20 percent overlap of the neighborhooods then the joined population variable will be corrected to 20 percent of the original population. The One Feature Per Match option will create an single feature for each spatial match that is made between the layers . The “matching features using” menu allows you to select the type of Spatial Join method that you would like to use. There are many options here that can address your needs in many situations.  See below for an example of the Spatial Join Window.

To perform the first join between the Public Housing layer and crime points set up the Spatial Join window like shown above. First, select the 2011_Crimes layer in the top windowpane. Within_A_Distance in the Matching Features using menu. Type in 200 in the Minimum Distance box. In the Field Mapping Pane you want to ignore all of the fields except the Name field and the Join Count fields (you can highlight all of the items you want to ignore and type ‘I’ to ignore all). These should be the first and last fields in the Field Mapping Window. Set those to copy and the rest to ignore and then click Join.  A new layer called PublicHousingAreaPly Join will be added to the layer stack. Click on the layer and observe the Data Viewer. There should be three fields, ID, Join_Count, and Name.

The Join_Count Field provides the number of crime incidents that occurred within 200 meters of the public housing facilities. The Barry Farm Dwellings had the highest count at 201. Stoddert Terrace is second at 192 and Lincoln Heights Dwelling is third at 182. This information tells you a lot about which public housing facilities might need additional protections against criminal activity, and the data allow you to make compelling statements about what is going on around these facilities.

To perform the second Spatial Join select the 2011_Crime layer in the Layer stack and then choose Tools > Spatial Join. Select the Public Housing Join layer in the top pane of the Spatial Join window. Change the Matching Features using menu to Within_Distance. Each of the public housing locations acts as the center of an invisible buffer layer that has a user defined circumference. To define the circumference of the buffer layer Type in 200 in the Minimum distance box. Finally, check the Discard Unmatched Features box and then click Join. This will remove any crime points that are not within 200 meters of a public housing facility. Move the 2011_Crime join layer to the top of the layer stack. Below is an example of the map with the selected points.


Check the data viewer to find the fields that have been joined to the crime layer. The field of most interest is the Name Field, which describes the name of the public housing site near the crime point. Using this data we can create individual reports for the public housing facilities that details the types of crimes occurring near those facilities. These reports will allows police officials to create goals and strategies for addressing problems in and around these facilities. See below for an example of the data viewer. 

Introducing Cartographica 1.4: Overlay Operations

New to Cartographica 1.4 is the ability to perform Overlay Operations. Overlay Operations are useful in many contexts when working with spatial data as they make limiting or expanding datasets via spatial location simpler and more efficient. Below are descriptions of the various Overlay Operations that Cartographica has in place for version 1.4. Each serve a specific purpose that you may encounter while working with spatial data. 

Clip Function: Clips all target layers to the Clip layer. The Clip layer can be thought of as a cookie cutter. The boundary of the Clip layer is the outline of the cookie cutter. The Target Layer is the rolled out cookie batter. The output of the Clip function is a new layer that includes only the area that was contained within the boundary of the Clip layer.

Erase Function: The Erase function works opposite of the Clip function. The idea with the cookie cutter is the same, except that rather than clipping a cookie from a large batter and then focusing on the cookie, it erases the cookie and focuses on what’s left of the batter.

Intersection Function: The intersection function creates a new layer based on the intersection of multiple polygon layers. The intersection function is also commonly referred to as the "and" function. The intersection is the area where both polygon A "and" polygon B are located. The intersection function creates an empty layer when the polygons do not share common space (i.e. layers that are mutually exclusive).The output of the intersection function is a new layer that contains only the areas the fit the definition provided above.

Union Function: The union function creates a new layer based on the combination of multiple polygon layers. The union function is commonly referred to as the "or" function. The union function can operate on polygons that are either mutually exclusive or non-mutually exclusive. In both cases the resulting layer will include all space occupied by both layers. Unlike the union operation in probability theory, the spatial union does not have to deal with issues of double counting non-mutually exclusive areas. The areas that overlap are simply added to the final layer.  

Difference Function: Creates a new layer that includes areas of two polygons that do not overlap. Areas that occur in both layers are not present in the resulting layer.   The idea is that the non-overlapping areas are removed, not the polygons. Sometimes the area is just one polygon, but it might also be all of one polygon and parts of 2 others. 

Update Function: The update function updates a target layer with features found in another layer. For example, if you have a new and an old street file the new street file can be used to update the missing streets on the old street file.

Identify: Identifies features in target layers with operation layer features. For example, the identify function can be used when one of two spatially identical layers is missing attribute data. The layer with attribute data (the operation layer) can be used to identify the unidentified features on the layer without attribute data (the target layer).

To highlight a few of the new Overlay Operations we can use an example. In the example you will be using Cartographica’s new overlay functions to select features based on their spatial location. Download the Lexington Census Tracts and Urban Growth Boundary. Import the Lexington Census Tracts layer and the Lexington Urban Growth Boundary Layer by using File > Import Vector Data. The Urban Growth boundary layer is a feature unique to Lexington that represents a politically defined limit on urban sprawl. The main reason behind the boundary is to limit urban sprawl from encroaching on to Lexington’s valuable horse farms that surround the city. A key problem with this situation in Lexington is that the county that Lexington is within (Fayette County) is made up of distinctly rural and urban areas. In some cases this feature of Lexington and Fayette county presents problems when conducting various spatial and statistical analyses. As a result, you want to isolate urban and rural counties into separate layers. You can do this using Cartographica’s new Overlay Operations. Below is a map highlighting Lexington-Fayette County with the red-region representing the urban-growth area. All Areas outside of the red space are rural areas within the county. 

We want to create a new layer that contains only urban areas in the city by cutting out the rural parts of the census tract layer. To do this choose Tools > Perform Overlay Operation. To identify only the rural areas within Lexington you need to use the Clip Function. The Clip function clips all target layers to the operation layer. You can identify which layer is the target and operation layer within the Overlay Operation window. In this case the LandUse_Sector layer is the operation layer that will be used to clip out the rural census tracts. To select the Clip layer click and drag the LandUse_Sector layer to the Clip with box. Below is an example of the appropriate set up to perform the clip operation. After you set up the window like shown below click Perform.

Below is an example of the map of urban areas within Lexington. Note that when the new clip layer is created it will be at the bottom of the layer stack. You need to move the layer to the top of the layer stack and check the box to view the layer’s features. The new layer contains all of the Census tracts that are within the urban growth boundary. This is advantageous because the urban and rural areas in Lexington are distinctly different and may be studied and and understood differently in specific contexts, which requires separate data layers.  

Now you want to create a new layer that contains only rural areas within Lexington by erasing the parts of Fayette County that are within the Urban Growhth Boundary. To do this choose Tools > Perform Overlay Operation. To create a new layer that contains only rural areas you need to use the Erase function. Use the LandUse_Sector (urban growth layer) as the erase layer and the Census tract layer as the target layer. When set up, click perform. 

Below is a map of the rural areas in Lexington. Like before, when the new erase layer is created it will be at the bottom of the layer stack. Move the layer to the top of the layer stack and change the layer styles so that it is more easily visible against the other layers. Notice that all of the census tracts that were within the Urban Growth Boundary are now removed from the new layer. View the map below for an example. 

Cartographica 1.4 is now in beta

We are very pleased to finally make available the first release of 1.4, our largest version of Cartographica to date. Please read these notes if you choose to use this beta version of the software. We will be following up this post over the next few weeks discussing the new features and capabilities of Cartographica 1.4.

Beta Test Warnings

Warning: Although we have done extensive internal and private beta testing, it is important to remember that this version of Cartographica is still considered to be in testing. Please make sure that you have files that you are working on with 1.4 backed up sufficiently that you can recover from a catastrophic data loss due to file format incompatibility, erroneous data, or the or other potential errors.

Talking about 1.4

Cartographica 1.4 contains a wide variety of new features, user interface enhancements, performance improvements, and new file format support. Over the next few weeks, we will be posting new information on our blog and tweeting new information as well as making more information available on our website about 1.4 and the exciting new changes contained herein. These release notes will contain many individual feature but do not serve as sufficient documentation for how those features are used.

We welcome input from all of our customers and potential customers during this testing period, through email to as well as via our web support site.

We would also like to encourage the sharing of opinion, feature ideas, and usability issues on our forums at our support site. This is the home of our knowledge base and is a good jumping off point if you run into problems or would like to make a suggestion.

During this period, we will be collecting data about the functioning of the software, some of which will be sent whenever the software starts, and some of which will be sent only upon your request. If you encounter a crash, please send in a little detail on what was happening at the time of the crash. If you include your email address, we will try to follow up with you when a fix is available or if we need further information.

OS Compatibility

Cartographica 1.4 requires Lion or Mountain Lion (10.7.5 or 10.8.1) or more recent in order to function correctly. We take the process of removing support for older versions of the OS very seriously, but there are many new features that we could not reasonably support on versions prior to 10.7. We have opted not to move to 10.8 as a requirement, due to the lack of support for the popular 2008 MacPros. At this time, customers using OS 10.6 will need to remain on the 1.2 versions of Cartographica, which will be maintained for at least six months. This includes fixing of significant bugs, but does not include the introduction of new features. We will continue to test for basic forward and backward compatibility between the 1.2 versions and the 1.4 versions.


Cartographica 1.4 uses the same keys as all previous versions of Cartographica. However, we have made some modifications to the verification system and therefore it is more important than previously to have your name and company name exactly as it was on license that you were granted either during the evaluation period or when you purchase the software. If you have trouble getting the software to recognize your valid key, please visit our lost key page and request that your key information be resent to you. This is the same information the Cartographica uses to determine the validity of your key and therefore if you put the information in exactly as it is sent to you, you should not have any problems.

If you do experience problems with the new key verification system, please let us know. We are performed extensive automated testing on this, we realize is an irritating element of the software and we want to make sure that operates as smoothly as possible.

If you're running both version 1.4 and the prior version of Cartographica, newly verified keys will work appropriately with both.

Compatibility with prior versions of Cartographica

We've gone to great lengths to ensure compatibility both forward and backwards between versions of Cartographica. Map sets that are written with versions 1.4 should be readable with both versions 1.4 and 1.2.10. All map sets that do not contain WFS layers or grid layers will be compatible with versions back to 1.2.9. We expect to release version 1.2.10 by the time that first and 1.4 is released, and it is also available as a direct download and using our RSS feed for test versions.

Changes made to styles will generally be visible in version 1.2.9 and above, with the exception of the new style types for lines and the new pattern fill styles. If you load a layer containing those into 1.2.x, the new styles will be appropriately ignored. If, however, you save the files using 1.2.x, the line and pattern styles will be eliminated during the same operation.

Downloading the beta

Cartographica betas will be available for direct download or available by setting your Cartographica software update preferences to Beta or Development.

Beta information is available on our beta page and release notes for 1.4 will be updated regularly.

Saving Time by Using AppleScript

AppleScript can make life much easier when performing repetitive tasks. Recently we had an issue with a customer needing to automate the Count Points in Polygons tool across a number of point layers. The process was taking a long time due to the sheer number of point layers being aggregated. To automate the process we wrote a script that will count points from multiple point layers and automatically add new data fields to the polygon layer. The new data fields will be labeled to match the name of the point layer being aggregated.

Here, I'll show an example of this using crime data from from Washington D.C. (The data are available for download at DC GIS). We'll start with the crime data, downloaded from DC GIS, and block group polygons, downloaded from the U.S. Census Bureau. Import the data by choosing File > Import Vector Data. Note that if you download the crime data from DC GIS you will need to create new layers from selections for each of the crime types. Also, note that you can use the script in the example below on any set of point and polygon layers. So if you have point layers you want aggregated to one of your own polygons layers then you can use the script in the exact same way as shown in the example.That is, the script is not written only to be used with data in the example below. 

Cartographica offers a couple ways to complete this task of aggregating points to polygon features. First, you can choose Tools > Counts Points in Polygons. When you have a large number of point layers you will need to perform this task repetitively for each of the point layers that you would like to have aggregated to the polygon layer. When you have many point layers to aggregate, this process can be time consuming. The second option is that you can choose to perform the task by running an AppleScript that will automatically perform the task for you. 

Running the Script

The script is available by the following the link. 

To run the script

1. Make sure your Map window is frontmost in Cartographica

2. Double-click on the script file to open AppleScript Editor

The script we have provided has two parts needing mention. The first part is the script for the Standard Utilities. The Standard Utilities are some additional functions that you can copy and use in your own scripts to handle choosing layers from a list, creating unique layer and column names, and doing numeric conversion. 

The second part is at the bottom of the script where there are commands that performs the repetitive count points in polygons task. The commands are shown below. The first set command tells Cartographica to create a selection box for the point layer that you want aggregated. The second set of commands tells Cartographica to create a selection box fot the polygon layers that you want to have points aggregated on. The final command repeats the process for all selected point layers and adds a count field to the selected polygon layer that contains the original point layer's name. 

tell application "Cartographica"

set selectedLayers to my chooseLayers("Choose the Point layers", the document of the front window, 1, yes) 

set chosenLayers to my chooseLayers("Choose the Polygon layer", the document of the front window, 5, no) set polyLayer to item 1 of chosenLayers

repeat with targetlayer in selectedLayers

add point count polyLayer counting targetlayer column name (name of targetlayer

end repeat

end tell

3. Click Run

After clicking run the program will prompt you with selection boxes. Be sure to select the point layer like shown in the image below. Once you select the point layers click ok. 

After you select the point layers you will be prompted to select the polygon layer that you want the points aggregated to. Select the polygon layer and then click ok. 

The result of running the code should be new fields with names corresponding to the aggregated layer. See below for an example. 

Negative Buffering in Cartographica

Buffers have many applications for users of GIS. A buffer is a polygon that is drawn at specified distances around a set of point, line, or polygon features. Buffers are often used to indicate the proximity of a feature to other surrounding features. For example, school officials in one community wanted to know which schools were within 500 yards of parks due to increased reports of students skipping school in those locations. 

There are different types of buffers, but the most common method is the Uniform Width Buffer. This method identifies areas that are specific distances from a set of features. In the uniform width method the uniform width is applied to all features in a dataset, or to a number of selected features from a dataset. 

A useful variant of the Uniform Width Buffer is the Negative Buffer, which is exactly the same as Uniform Width Buffering except that the buffer distances are negative values. Negative buffering is only used with polygons because points and lines have no interior space that can be used to take on negative distance buffers. Polygons on the other hand have interior space that is capable of containing negative distance values. Negative buffers are used to indicate distances toward the center of a polygon from the boundary of the polygon. 

Use the following dataset to follow along with this example. 

Parcels Dataset

Streets Dataset

Import the data by choosing File > Import Vector Data. For the scenario in this example we have two datasets. One represents a series of polygons for property parcels in a city neighborhood, and the other represents the streets in those neighborhoods. The city needs you to create two polygon layers one representing a 24 foot easement from the centerline of each street and a second polygon representing a 3 foot interior utility easement within each parcel. 

Start with the Street Buffers. Begin by selecting the Streets layer in the Layer Stack. Choose Tools > Create Buffer for Layer's Features. This will bring up the Buffer Window. The Uniform Width option will be selected. Type in 24 and then change the metrics menu to feet. See below for an example of the Buffer Window and the output. You can change the color scheme for the Streets Buffer layer by double-clicking on the layer in the Layer Stack and then changing the fill and stroke color. For the map below the opacity was set to 0%, the stroke color was changed to blue, and the line width was changed to 3. 

Buffer Window

Uniform Width Buffer for Streets Layer

Negative Buffer for Parcels Layer

The negative buffer in this scenario represents a 3 foot utility easement that is in place to ensure, among other things, that utility vehicles can get between houses if necessary. The city wants a polygon layer representing these easements. Select the Parcels layer in the Layer Stack and then&nbsp;<strong>Choose Tools &gt; Create Buffer for Layer's Features</strong>. &nbsp;Again, the Buffer Window will appear. This time type in -3, change the metrics menu to feet and then click Buffer...Change the color scheme for the Parcels Buffer Layer by double-clicking on the layer in the Layer Stack. In the map below the fill color was eliminated by changing the opacity to 0%, the stroke color was changed to red, and the line width was changed to 1.5.