More

Determining what lines have changed in updated shapefile using QGIS


I am using my county's GIS data to update the roads in OpenStreetMap. I have a copy they published last year and one that was just published, and I would like to find all the LineStrings that have either had their attributes or their geometry changed. This will assist me in making sure all the new and modified streets are updated in OpenStreetMap.

The street segments should have a unique identifier, so my only thought is to write a Python script which opens both Shapefiles, finds any segments in the new that aren't present in the old (added segments), and the reverse (removed segments), and then loop over matched pairs comparing their constituent coordinates to see if anything has changed.

Is there a way to do this using QGIS?


The thing you need to do is a temporal analysis. As you said you have two vector data(shp) of different times. you can find the change using geometry processing. In QGIS load two vectors and GoTo Vector->GeoProcessing and from there you can use Difference function which will give another shape as a result.


There is a new tool which was added in QGIS 3.12 called "Detect dataset changes" that does exactly what you want. It accepts any geometry type including line. The tool

Compares two vector layers, and determines which features are unchanged, added or deleted between the two. It is designed for comparing two different versions of the same dataset.

Original line:

Modified line:

Changes happened:

For polygons, you can see the help:

Please refer to the help above for more detailed information.

Information in the changelog for QGIS 3.12: https://qgis.org/en/site/forusers/visualchangelog312/#feature-add-new-algorithm-detect-dataset-changes


Just to sum up all methods that were suggested in comments:

@Germán Carrillo

Vector > Geoprocessing Tools > Symmetrical difference

The same result can be achieved with SAGA GIS Symmetrical Difference Module

and @rkm

Vector > Geoprocessing Tools > Difference

The same result can be achieved with SAGA GIS Difference Module


References:


3D Printed Geographies – Techniques and Examples

As a follow-up to my post on “Geospatial Data Preparation for 3D Printed Geographies” (19 Sept 2015), I am providing an update on the different approaches that I have explored with my colleague Dr. Claire Oswald for our one-year RECODE grant entitled “A 3D elevation model of Toronto watersheds to promote citizen science in urban hydrology and water resources”. The tools that we have used to turn geospatial data into 3D prints include the program heightmap2stl direct loading of a grey scale image into the Cura 3D modeling software the QGIS plugin DEMto3D the script shp2stl.js and a workflow using Esri’s ArcScene for 3D extraction, saving in VRML format, and translating this file into STL format using the MeshLab software.

The starting point: GIS and heightmap2stl

Being a GIS specialist with limited knowledge of 3D graphics or computer-aided design, all of the techniques used to make geospatial data printable rely heavily on the work of others, and my understanding of the final steps of data conversion and 3D print preparation is somewhat limited. With this in mind, the first approach to convert geospatial data, specifically a digital elevation model, used Markus Fussenegger’s Java program heightmap2stl, which can be downloaded from http://www.thingiverse.com/thing:15276/#files and used according to detailed instructions on “Converting DEMs to STL files for 3D printing” by James Dittrich of the University of Oregon. The process from QGIS or ArcGIS project to greyscale map image to printable STL file was outlined in my previous post at http://gis.blog.ryerson.ca/2015/09/19/geospatial-data-preparation-for-3d-printed-geographies/.

Quicker and not dirtier: direct import into Cura

The use of the heightmap2stl program in a Windows environment requires a somewhat cumbersome process using the Windows command line and the resulting STL files seemed exceedingly large, although I did not systematically investigate this issue. I was therefore very pleased to discover accidentally that the Cura software, which I am using with my Lulzbot Taz 5 printer, is able to load greyscale images directly.

The following screenshot shows the available parameters after clicking “Load Model” and selecting an image file (e.g. PNG format, not an STL file). The parameters include the height of the model, height of a base to be created, model width and depth within the available printer hardware limits, the direction of interpreting greyscale values as height (lighter/darker is higher), and whether to smoothen the model surface.

The most ‘popular’ model created using this workflow is our regional watershed puzzle. The puzzle consists of a baseplate with a few small watersheds that drain directly into Lake Ontario along with a set of ten separately printed watersheds, which cover the jurisdiction of the Toronto and Region Conservation Authority (TRCA).

Thanks @clairejoswald @RyUrbanWater! We are having fun playing with the 3d regional watershed puzzle you gave us! pic.twitter.com/s03PWaxxwc

— TRCA Monitoring (@TRCA_Monitoring) April 12, 2016

Controlling geographic scale: QGIS plugin DEMto3D

Both of the first two approaches have a significant limitation for 3D printing of geography in that they do not support controlling geographic scale. To keep track of scale and vertical exaggeration, one has to calculate these values on the basis of geographic extent, elevation differential, and model/printer parameters. This is where the neat QGIS plugin DEMto3D comes into play.

As can be seen in the following screenshot, DEMto3D allows us to determine a print extent from the current QGIS project or layer extents set geographic scale in conjunction with the dimension of the 3D print specify vertical exaggeration and set the height at the base of the model to a geographic elevation. For example, the current setting of 0m would print elevations above sea level while a setting of 73m would print elevations of the Toronto region in relation to the surface level of Lake Ontario. One shortcoming of DEMto3D is that vertical exaggeration oddly is limited to a factor of 10, which we found not always sufficient to visualize regional topography.

Using DEMto3D, we recently printed our first multi-part geography, a two-piece model of the Oak Ridges Moraine that stretches over 200km in east-west direction to the north of the City of Toronto and contains the headwaters of streams running south towards Lake Ontario and north towards Lake Simcoe and the Georgian Bay. To increase the vertical exaggeration for this print from 10x to 25x, we simply rescaled the z dimension in the Cura 3D printing software after loading the STL file.

2-piece #3Dprint of Oak Ridges Moraine (shown on @RyersonGeo hallway carpet) 200km to 50cm wide 25x z-exaggeration pic.twitter.com/DqrwJWAe1k

— Claus Rinner (@ClausRinner) April 21, 2016

Another Shapefile converter: shp2stl

The DEMto3D plugin strictly requires true DEM data (as far as I have found so far), thus it would not convert a Shapefile with building heights for the Ryerson University campus and surrounding City of Toronto neighbourhoods, which I wanted to print. Additionally, the approach using a greyscale image of campus building heights and one of the first two approaches above also did not work, as the 3D buildings represented in the resulting STL files had triangulated walls.

In looking for a direct converter from Shapefile geometries to STL, I found Doug McCune’s shp2stl script at https://github.com/dougmccune/shp2stl and his extensive examples and explanations in a blog post on “Using shp2stl to Convert Maps to 3D Models“. This script runs within the NodeJS platform, which needs to be installed and understood – the workflow turned out to be a tad too complicated for a time-strapped Windows user. Although I managed to convert the Ryerson campus using shp2stl, I never printed the resulting model due to another, unrelated challenge of being unable to add a base plate to the model (for my buildings to stand on!).

Getting those walls straight: ArcScene, VMRL, and Meshlab

Another surprise find, made just a few days ago, enabled the printing of my first city model from the City of Toronto’s 3D massing (building height) dataset. This approach uses a combination of Esri’s ArcScene and the MeshLab software. Within ArcScene, I could load the 3D massing Shapefile (after clipping/editing it down to an area around campus using QGIS), define vertical extrusion on the basis of the building heights (EleZ variable), and save the 3D scene in the VRML format as a *.wrl (“world”) file. Using MeshLab, the VRML file could then be imported and immediately exported in STL format for printing.

#3Dprinted @RyersonU campus & area sorry SLC is missing due to 2013 @Open_TO source data – will include next time! pic.twitter.com/iRtUpcvuqf

— Claus Rinner (@ClausRinner) April 21, 2016

While this is the only approach included in this post that uses a commercial tool, ArcScene, it is likely that the reader can find alternative workflow based on free/open-source software to extrude Shapefile polygons and turn them into STL, whether or not this requires the intermediate step through the VRML format.


Prerequisites

Requirements

The BRI configuration necessary for the router to communicate with the Telco ISDN switch is simple.

You must have the switch type correctly configured for the BRI interface. Contact the Telco to find out your circuit switch type.

You might be required to have Service Profile IDentifiers (SPIDs) configured. If you connect to a DMS-100 or NI-1 switch, you most likely need to configure SPIDs. Most 5ess switches do not require SPIDs. However, always contact your Telco to determine if you need to configure the SPIDs and what they are. Refer to Known SPID Formats for more information on SPID formats.

Note: If the Telco informs you that SPIDs are not required, then configure the interface as normal, and skip the isdn spid1 and isdn spid2 commands.

This output shows a typical BRI interface configuration section, sufficient enough to allow the router to properly establish connectivity to the Telco ISDN switch:

Note: This configuration does not have all the necessary commands to permit the router to send or receive calls. Refer to Configuring ISDN DDR with Dialer Profiles or Configuring BRI-to-BRI Dialup with DDR Dialer Maps for more information on configuring the router to send and receive calls.

Components Used

The information in this document is based on Cisco IOS® Software Release 12.0.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.


GIS Data Files

Often data has address information but needs to be georeferenced or geocoded. This means that you need to add spatial coordinates to a data base to use it in GIS programs.

TAMU GeoServices offers a number of geographic information processing services. These services are provided to the greater geospatial community to assist in geospatial-related research and data processing, analysis, and visualization.

Texas A&M University Geoservices offers direct access to the latest cutting edge research on geocoding, address parsing, normalization and standardization, and open source geospatial mapping and visualization.


How Technology Has Changed the Way We Communicate

Once upon a time, people had limited options for exchanging information with one another. It’s probably hard for younger students today to imagine a world where you could only communicate by actually talking directly to another person, face to face or via telephone.

Now we have what can feel like limitless options to transfer information from one person to another. A wide range of disparate channels currently facilitate our chatter, from texting or Skyping with one person, to posting notes via social media that have the power to simultaneously reach everyone we’ve ever met.

    We can communicate faster and more cost-effectively. If you’re in the same room with someone, there’s certainly nothing faster than just opening your mouth and talking. But in our global economy, many of the people we need to communicate with are in different locations. Technology allows us to easily connect with people worldwide using our choice of forums. We don’t have to wait for a stamped letter to make its way across the miles or rack up a big long-distance phone bill (as was the case not that long ago) instead via the Internet we can instantly reach almost anyone whether through email, instant message, social media, or countless apps. As the speed of communicating has ramped up, costs have been dramatically reduced.

While technology is often seen as the culprit behind a decline in face-to-face talking, we have to give credit to technology for opening up many new avenues for expanding the comparatively limited communication options we had available in the past. We can still talk to each other in person (and should make the effort to do so whenever possible to avoid becoming over-reliant on our devices)—but we can also be thankful for the ability to “choose our channel” when communicating today.


Public GIS

Simply put, a GIS combines layers of information about a place to give you a better understanding of that place. What layers of information you combine depends on your purpose-finding the best location for a new store, analyzing environmental damage, viewing similar crimes in a city to detect a pattern, and so on.

To learn more about Geographic Information Systems, please click here.

To view GIS data from the Town of Abingdon click here or visit the Abingdon Municipal Building in person and ask for someone in the Public Works Department. For information outside the Town of Abingdon corporate limits, in Washington County, Virginia, visit www.washcova.com .

A rate schedule has been adopted by the Town Council for selling GIS information in hard copy or digital format. GIS is a powerful tool and the Town maintains a great deal of information using many GIS layers. You can view a list of layers below.

To request a special map product or GIS data (in Shapefile, CAD, etc. format) please click here and submit form.

To request an Address Change, within the Abingdon Town Limits, please click here and submit a request form.

  • To provide Town officials, departments, other agencies, contractors and the public responsive and innovative GIS services such as accurate maps, technical support, and digital data.
  • To continue the acquisition and development of new and useful data and GIS layers.
  • To promote and assist other departments with potential GIS access and usage.
  • To continuously update existing GIS layers as changes occur.

How does the Town of Abingdon use GIS?

The Town of Abingdon is building a GIS based on layers of land mapping and facility inventories that can be displayed together or separately. The following are some examples of how we use GIS in several deparments:


Crossport Relief Valves

Crossport relief valves limit the maximum pressure in the system. If the motor should mechanically stall, the relief valve on the high-pressure side would open and dump fluid back to the low-pressure side of the loop, protecting the motor from overpressurizing. The valves also absorb shock spikes in the system. To best absorb the pressure spikes, the valves are generally mounted as close to the motor as possible. Depending on the system, the valves may be located on the pump, mounted in a separate block or on the hydraulic motor.

The valves typically are preset to 200 to 400 PSI above the maximum operating pressure. Some drives may have a maximum pressure override, which operates similarly to a pump compensator. When the pressure override setting is reached, the pump volume is reduced to an output of nearly zero GPM. The pump will only deliver enough oil to maintain the pressure override setting. On these systems, the pressure override is set below the crossport relief valve settings.


Mdhntd

If you kill a Solar Angel can you use its Slaying Longbow?

List manipulation: conditional result based on variable-length sublists

The Lucas argument vs the theorem-provers--who wins and why?

Can I use Alchemist's fire to turn my sword into a virtual Flame Blade?

If I were to build a J3 cub twice the size of the original using the same CG would it fly?

Are Valenar elves and Aereni elves different races of elves?

Why do movie directors use brown tint on Mexico cities?

Cooking a nice pan seared steak for picky eaters

Ways to get SMD resistors from a strip

What verb for taking advantage fits in "I don't want to ________ on the friendship"?

What happens if a caster is surprised while casting a spell with a long casting time?

Having to constantly redo everything because I don't know how to do it?

Can European countries bypass the EU and make their own individual trade deal with the U.S.?

Making a wall made from glass bricks

Early 2000s movie about time travel, protagonist travels back to save girlfriend, then into multiple points in future

List Manipulation : a,b,c,d,e,f,g,h into a,b,c,d,e,f,g,h

What election rules and voting rights are guaranteed by the US Constitution?

Why would anyone even use a Portkey?

Could you fall off a planet if it was being accelerated by engines?

Does a return economy-class seat between London and San Francisco release 5.28 tonnes of CO2 equivalents?

From USA, To London, then Sweden. What to expect?

How far can gerrymandering go?

Cup and Trade: The Perfect Nutmeg Soup

Shapefile in leaflet shifted North 0.25°

GeoServer - OSM .shp file and aerial shiftedShapefile of South Tyneside borough (north-east England) boundaryRendering Complex Shapefile in Leaflet?Display Shapefile with leaflet and layer controlShapefile is shifted after exportingLeaflet extension: “this.callInitHooks is not a function”File SHP needing to be shifted up?Leaflet RoutingShow time series data with non-contiguous times using Leaflet TimeDimension pluginLeaflet - how to add time dimension image layers

I have the following problem:

I render a bunch of weather maps as PNG overlays with grads and then reproject them from EPSG:4326 to EPSG:3857 to display them in leaflet as follows:

Those reprojected PNG in leaflet match the maps that grads produces itself, i.e. they should be correct.
Additionally, I reproject some shapefiles which I also produce with grads as follows:

Those files appear in leaftlet shifted

0.25° to the North. I have no clue whatsoever what could be the problem here. It's a total mystery to me.

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.

– Stefan Gofferje
13 hours ago

I have the following problem:

I render a bunch of weather maps as PNG overlays with grads and then reproject them from EPSG:4326 to EPSG:3857 to display them in leaflet as follows:

Those reprojected PNG in leaflet match the maps that grads produces itself, i.e. they should be correct.
Additionally, I reproject some shapefiles which I also produce with grads as follows:

Those files appear in leaftlet shifted

0.25° to the North. I have no clue whatsoever what could be the problem here. It's a total mystery to me.

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.

– Stefan Gofferje
13 hours ago

I have the following problem:

I render a bunch of weather maps as PNG overlays with grads and then reproject them from EPSG:4326 to EPSG:3857 to display them in leaflet as follows:

Those reprojected PNG in leaflet match the maps that grads produces itself, i.e. they should be correct.
Additionally, I reproject some shapefiles which I also produce with grads as follows:

Those files appear in leaftlet shifted

0.25° to the North. I have no clue whatsoever what could be the problem here. It's a total mystery to me.

I have the following problem:

I render a bunch of weather maps as PNG overlays with grads and then reproject them from EPSG:4326 to EPSG:3857 to display them in leaflet as follows:

Those reprojected PNG in leaflet match the maps that grads produces itself, i.e. they should be correct.
Additionally, I reproject some shapefiles which I also produce with grads as follows:

Those files appear in leaftlet shifted

0.25° to the North. I have no clue whatsoever what could be the problem here. It's a total mystery to me.

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.

– Stefan Gofferje
13 hours ago

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.

– Stefan Gofferje
13 hours ago

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

Even more mysterious - I loaded the reprojected shapefile as well as the original shapefile in QGIS and both appear identically there - and apparently at the correct location.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.

– Stefan Gofferje
13 hours ago

As both original and reprojected shapefiles are displayed identically in QGIS, I edited the title.


Determining what lines have changed in updated shapefile using QGIS - Geographic Information Systems

Now that we have a basic understanding of data and information, where can we find such data and information? Though an Internet search will certainly come up with myriad sources and types of data, the hunt for relevant and useful data is often a challenging and iterative process. Therefore, prior to hopping online and downloading the first thing that appears from a web search, it is useful to frame our search for data with the following questions and considerations:

  1. What exactly is the purpose of the data? Given the fact the world is swimming in vast amounts of data, articulating why we need (or why we don’t need) a given set of data will streamline the search for useful and relevant data. To this end, the more specific we can be about the purpose of the needed data, the more efficient our search for data will be. For example, if we are interested in understanding and studying economic growth, it is useful to determine both temporal and geographic scales. In other words, for what time periods (e.g., 1850–1900) and intervals (e.g., quarterly, annually) are we interested, and at what level of analysis (e.g., national, regional, state)? Oftentimes, data availability, or more specifically, the lack of relevant data, will force us to change the purpose or scope of our original question. A clear purpose will yield a more efficient search for data and enables us to accept or discard quickly the various data sets that we may come across.
  2. The second question we need to ask ourselves is what data already exist and to what data do we have access already? Prior to searching for new data, it is always a good idea to take an inventory of the data that we already have. Such data may be from previous projects or analyses, or from colleagues and classmates, but the key point here is that we can save a lot of time and effort by using data that we already possess. Furthermore, by identifying what we have, we get a better understanding of what we need. For instance, though we may already have census data (i.e., attribute data), we may need updated geographic data that contains the boundaries of US states or counties.
  3. Next, we need to assess and evaluate the costs associated with data acquisition. Data acquisition costs go beyond financial costs. Just as important as the financial costs to data are those that involve your time. After all, time is money. The time and energy you spend on collecting, finding, cleaning, and formatting data are time and energy taken away from data analysis. Depending on deadlines, time constraints, and deliverables, it is critical to learn how to manage your time when looking for data.
  4. Finally, the format of the data that is needed is of critical importance. Though many programs can read many formats of data, there are some data types that can only be read by some programs and some programs that require particular data formats. Understanding what data formats you can use and those that you cannot will aid in your search for data. For instance, one of the most common forms of geographic information system (GIS) data is called the shapefile A common set of files used by many geographic information system (GIS) software programs that contain both spatial and attribute data. . Not all GIS programs can read or use shapefiles, but it may be necessary to convert to or from a shapefile or some other format. Hence, as noted earlier, the more data formats with which we are familiar, the better off we will be in our search for data because we will have an understanding of not only what we can use but also what format conversions will need to be made if necessary.

All these questions are of equal importance and being able to answer them will assist in a more efficient and effective search for data. Obviously, there are several other considerations behind the search for data, and in particular GIS data, but those listed here provide an initial pathway to a successful search for data.

As information technology evolves, and as more and more data are collected and distributed, the various forms of data that can be used with a GIS increases. Generally, and as discussed previously, a GIS uses and integrates two types of data: geographic data and attribute data. Sometimes the source of both geographic and attribute data are one in the same. For instance, the US Bureau of Census (http://www.census.gov) distributes geographic boundary files (e.g., census tract level, county level, state level) as well as the associated attribute data (e.g., population, race/ethnicity, income). What’s more is that such data are freely available at no charge. In many respects, US census data are exceptional: they are free and comprehensive. If only all data were free and comprehensive!

Obviously, each and every search for data will vary according to purpose, but data from governments tend to have good coverage and provide a point of reference from which other data can be added, compared, and evaluated. Whether you need satellite imagery data from the National Aeronautics and Space Administration (http://www.nasa.gov) or land use data from the United States Geological Survey (http://www.usgs.gov), such government sources tend to be reliable, reputable, and consistent. Another key element of most government data is that they are freely accessible to the public. In other words, there is no charge to use or to acquire the data. Data that are free to use are generally called public data Data that can be shared and distributed freely. .

Unlike publicly available data, there are numerous sources of private or proprietary data Data that must be purchased and are subject to certain terms of use. . The main difference between public and private data is that the former tend to be free, and the latter must be acquired at a cost. Furthermore, there are often restrictions on the redistribution and dissemination of proprietary data sets (i.e., sharing the purchased data is not allowed). Again, depending on the subject matter, proprietary data may be the only option. Another reason for using proprietary data is that the data may be formatted and cleaned according to your needs. The trade-off between financial cost and time saved is one that must be seriously considered and evaluated when working with deadlines.

The search for data, and in particular the data that you need, is often the most time consuming aspect of any GIS-related project. Therefore, it is critical to try to define and clarify your data requirements and needs—from the temporal and geographic scales of data to the formats required—as clearly as possible and as early as possible. Such definition and clarity will pay dividends in your search for the right data, which in turn will yield better analyses and well-informed decisions.


David's Home

This page will guide you through the steps to install two of the leading open-source GIS applications, which can be integrated to use the advantages of both together. These instructions are specifically for MacOSX, but the software can also be installed on other operating systems (a couple good introductions with installation notes are here and here). This page was written to supplement a workshop at the University of Hawai‘i at Mānoa (UHM) Geography department's Cartography Lab, and includes several GRASS locations for Hawai‘i.

Geographic Information Systems (GIS) are powerful tools for modeling and analyzing spatially referenced data. There are a variety of different systems, the most common of which is ArcGIS. However, Arc is both expensive, and restricted to computers running Microsoft Windows operating systems. A good way to move beyond these limitations is to use free and open-source software (FOSS).

FOSS is free both in the sense that it costs nothing ("free as in beer," or gratis) and in the sense that it can be modified by users as they see fit ("free as in speech," or libre). Open-source projects tend to be collaborative, and to build on work that other programmers have done before. Because of this, it is sometimes necessary to install a series of frameworks or software libraries before installing the applications themselves. While this may seem a little daunting at first, it isn't really difficult at all.

Open-source projects also have a reputation for being a bit anarchic and unpolished, and harder to use than commercial packages — but while this has sometimes been the true of early versions, many FOSS programs are now quite slick and user-friendly. With the integration of QGIS and GRASS, there is now an open-source alternative which is arguably as powerful and easy to use as Arc — and it's free.

Quantam GIS (QGIS) is an elegant program which provides a good way to arrange and view GIS data. Its earlier versions had limited ability to analyze and manipulate data, but it can now integrate "plug-ins" from other FOSS projects which give it extensive capabilities. GRASS (for Geographic Resources Analysis Support System) has long been one of the most analytically powerful command-line GIS applications available, but its complexity and former lack of a smooth graphic user interface (GUI) has made it difficult for new users. Recent versions have had better and better GUIs, and now that it can be integrated with QGIS as a smooth front-end, it has become much more accessible.

Both GRASS and QGIS can be easily installed as "stand-alone" applications, but installing them so that they work together takes a couple of addtional steps. Because both programs are cross-platform, and will work on a number of operating systems, each new version needs to be "ported" to each system. In this case, the work of porting this software to OSX has been done by William Kyngesburye, and additional information and software can be found on his KyngChaos website.

Notes on Installing Software for Mac OSX

The following packages are designed for operating systems OSX 10.6 (Snow Leopard) and OSX 10.7 (Lion). Some versions for earlier systems can be found on the KyngChaos website. You can check which version of OSX you're running using "About This Mac" under the Apple menu.

Installing GRASS and QGIS

    (or GDAL Complete 1.9 for QGIS)
    (or try out the development version QGIS 1.9 (2012/03/11)).
  1. (or GRASS 6.4.2-5 for QGIS)
  2. GRASS GDAL plugin (included on the GRASS disk image (.dmg))
  1. Download this grassdata archive.
  2. Unzip this file, so you have a "grassdata" folder.
  3. Move this folder to your home directory.
  4. If you have problems using this, you may need to change access permissions to make yourself the owner of this and subsidiary directories (using File>Get Info>Sharing & Permissions>Apply to enclosed items).
  1. Start QGIS.
  2. Under the Plugins menu, "Manage Plugins" will give you a list of optional features you can add to QGIS. Add "GRASS" and it will appear in the Plugins menu, with GRASS icons in the menu bar.
  3. To use GRASS you will first have to choose a GRASS mapset, or create a new one. Try Plugins>GRASS>Open_Mapset and choose the grassdata folder in your home directory as your Gisdbase, NaturalEarth as your location, and NEwork1 as your mapset.
  4. You can now "Add GRASS vector layer" from any NaturalEarth mapset, or use Plugins>GRASS>Open_GRASS_Tools to access all GRASS capabilities.

That should get you up and running!

GRASS locations:

There is quite a bit of useful documentation for GRASS and I won't do more here than just touch on the way GRASS organizes spatial data. It does this using a set of "location" directories, which are kept together in a data directory usually named "grassdata." Inside each location can be various mapsets, including one called PERMANENT which defines the extent and projection of each location.

Because the agencies that make GIS data publically available in Hawai‘i use different datums, I have created a set of locations inside a grassdata directory, which you can use to begin working with data.

Location Projection Datum Data Source
CCHonolulu State Plane O‘ahu, Zone 3, feet NAD83 HARN (CCH) HoLIS
StateHI UTM 4N NAD83 State of Hawai‘i
Arboretum UTM 4N WGS84 [total stations]
NaturalEarth Latitude-Longitude WGS84 NaturalEarthData
OpenStreetMap

These locations contain only a few of the available layers, but you can download more and import them into the mapsets. There are a couple of tutorials for GRASS available, which use other sample locations which you can download and add to your grassdata directory.

The biggest drawback I've found to QGIS is that it does not always police the projection of the layers you add, so it is quite possible to add shapefiles from different datums onto the same map, with the result that they will not be spatially aligned. The coordinate reference system (CRS) in QGIS can be changed in Preferences. More information can be found in the QGIS documentation. If you want to align layers from more than one location, you will have to use GRASS to transform one of them into the other's datum and projection.

Additional options:

GRASS and QGIS are not the only geographic FOSS applications a number of others are listed at the Open Source Geospatial Foundation (OSGeo). One that seems especially useful is gvSIG, available in a distribution from OA Digital, which aside from its more powerful features provides a good free way for viewing .dxf and .dwg files on the Mac. (OpenOffice will display dxf files but without georeferencing.) uDig is another interesting GIS option. ScapeToad is an open source application for creating cartograms. There are also cartographic applications which are not open-source, but which are free, such as the excellent Flex Projector.

For open-souce map illustration, Inkscape is a vector editor similar to Adobe Illustrator, while GIMP (GNU Image Manipulation Program, available from the GIMP on OS X project) is a pixel graphic program similar to Photoshop.

There are several options for getting deeper into GIS which I haven't set up yet. KyngChaos provides distributions for PostgreSQL and GIS extras and for Mapserver and for a number of GDAL plugins (ECW, GeoPDF, MrSID, & R-GDAL) and Python modules. The statistical package R can also be used for geostatistical analysis in conjunction with GRASS.

Kudos:

Late Notes:

Like FOSS in its various manifestations, all of the material I've composed on this page is available for your modification and redistribution.

As I've started working with this more I have found that the QGIS front end does not quite give complete graphic access to the full functionality of GRASS there are at least a couple of commands that can only be done from the command line in QGIS or one of the other GUI wrappers for GRASS. More on this to come.