ClueTrust GIS Products


Macintosh GIS

Try Cartographica, the Macintosh GIS today. Explore, analyze, and present geospatial data and maps on your Macintosh.

Get CartoMobile, our field data entry and viewing tool for iOS.

Updates
Blog Index
The journal that this archive was targeting has been deleted. Please update your configuration.
Navigation
Thursday
Dec062012

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.
         
Friday
Nov162012

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.

Friday
Nov162012

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. 

Thursday
Oct252012

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. 

Tuesday
Oct232012

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.