More

How to snap already digitized polygons in different layers using QGIS?


As a newbie, I have digitized a lot of polygons without snapping them.

Is there any way that I can add snapping to them aftervards? They are in different layers?


Snapping options do not work retroactively.


Topojson: How to design valid polygons, lines, points in GIS softwares?

Up to now I always used GIS files from the web, which provide me administrative polygons, rivers, landmasses, etc. I then convert them to Topojson format to feed D3js.

Today I have to design my own layer (wine_areas) within Quantum GIS (QGIS). Similarly, this .shp file will later on be converted into Topojson format.

When designing my shapes, lines, dots within a GIS software (.shp file): What are the critical aspects I should worry about, and how to do so the .shp and the final Topojson files is valid, with the expected typologies ? Mostly, with neighbor polygons sharing their common arcs, etc.

I especially wonder how to design my topojson "arcs" in GIS softwares :

  • should I put my shapes nearby such [][]
  • should I design a shape and cut it with a line [|]
  • which level of precision is needed ? (and how to know it)

How to snap already digitized polygons in different layers using QGIS? - Geographic Information Systems

GST 101: Introduction to Geospatial Technology

Lab 5 - Creating Geospatial Data

Objective – Digitize Information from a Scanned Hardcopy Source

FOSS4G Lab Author: Kurt Menke, GISP Bird's Eye View GIS

Original Lab Content Author: Richard Smith, Ph.D.
Texas A&M University - Corpus Christi

The development of the original document is funded by the Department of Labor (DOL) Trade Adjustment Assistance Community College and Career Training (TAACCCT) Grant No. TC-22525-11-60-A-48 The National Information Security, Geospatial Technologies Consortium (NISGTC) is an entity of Collin College of Texas, Bellevue College of Washington, Bunker Hill Community College of Massachusetts, Del Mar College of Texas, Moraine Valley Community College of Illinois, Rio Salado College of Arizona, and Salt Lake Community College of Utah. This work is licensed under the Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

This document was original modified from its original form by Kurt Menke and continues to be modified and improved by generous public contributions.

In this lab, students will learn how to georeference a scanned map. Georeferencing is the process of transforming the coordinate system of the scanned map, from the coordinate system produced by the scanning process, into a real world projected coordinate reference system. The student will then learn how to digitize information contained in the scanned map into a shapefile. The first task will be to create the empty shapefile to digitize features into. The student will also learn how to edit existing vector datasets.

This lab will continue to introduce students to the QGIS interface. It is important to learn the concepts in this lab as future courses will require the skills covered in this lab.

This lab includes the following tasks:

Task 1 – Create a new shapefile.

Task 2 – Transforming coordinate system of source data.

Task 3 – Heads-up digitizing from transformed source data.

Task 4 – Editing existing geospatial data.

2. Objective: Digitize Information from a Scanned Hard Copy Source

While there is a large amount of digital information readily available to users of GIS, there’s still a large amount of information that has not been converted to digital format. For hundreds of years of hard copy paper maps contained all geospatial data. Many historic, and even newer, hard copy maps have never been digitized. It is possible to extract the information from hardcopy sources through process called digitizing. In this lab, you will use heads-up digitizing to digitize parcels in a portion of Albuquerque, New Mexico from a scanned map. This will be accomplished through a five-step digitizing process:

Create a shapefile to store the data that will be digitized.

Load the scanned map source data into QGIS

Georeference the source map

Task 1 - Create a New Shapefile

In Task 3, you will be digitizing parcels from a georeferenced data source. In this first task you will learn how to create the new shapefile you will eventually digitize into.

Navigate to the lab folder in the file tree and select the Data folder by clicking once on it so that it is highlighted.

Click on the New Shapefile button at the top of the Browser window. This will open the New Vector Layer window.

Click the Select CRS button to open the Coordinate Reference System Selector.

The City of Albuquerque, like most municipalities, uses the State Plane Reference System (SPRC) for their data. You will use the same CRS for your new shapefile.

In the Coordinate Reference System Selector interface type New Mexico into the Filter. This will limit the list below to just those with New Mexico in their name. These are different SPRC CRSs for New Mexico. New Mexico has 3 zones and Albuquerque is in the Central zone.

Select the NAD83(HARN) / New Mexico Central (ftUS) with an EPSG code of 2903 (see figure below). Click OK once you have selected this CRS to be returned to the New Vector Layer window.

While creating your new shapefile you have the option of adding attribute columns. It is possible to add them later, but if you know of some attribute columns you will need in the layer, it makes the most sense to define them here. The ID attribute is automatically added to every shapefile you create.

For this lab, you will need an attribute column to hold the zoning code.

  1. In the New attribute section of the New Vector Layer window, define a new field with: a name of zonecode, as Text data with a width of 5.

This means the new zonecode attribute column will store data as text and will only be able to accommodate five characters of data. Since our longest zoning code is 4 digits this is more than enough.

Click Add to attribute list and you will see the new zonecode attribute added.

Click OK to approve the new shapefile options and open the Save layer as window. Since you had the New Data folder selected when you clicked the New Shapefile button it will default to that folder. If it doesn’t just navigate to that folder now.

Name the shapefile parcels.shp and click Save to create the shapefile

Initially, the new shapefile may not display in the Browser. We need to first refresh the view to see the newly-created file.

Click the Refresh button in the upper left hand corner of the QGIS Browser window. Expand the New Data folder and you will see the parcels.shp file.

Select the parcels.shp dataset and click the Metadata tab. You’ll see that it has 0 features and has the Spatial Reference System you specified. The New Mexico Central State Plane zone uses the Mercator projection since it is a north – south oriented zone.

Task 2 - Transforming Coordinate System of Source Data

Now that you have created an empty shapefile to store the digitized information, you will perform a coordinate transformation (also known as georeferencing) on the source data set so that it is in an Earth-based coordinate system. In this case, the coordinate system will match your parcel shapefile (NAD83(HARN) / New Mexico Central (ftUS)).

To perform this task you will be using a Plugin. Plugins are small add-ons to QGIS. Some are created by the core QGIS development team and others are created by third party developers.

Arrange Browser and Desktop so that you can see both windows simultaneously on your desktop.

In Browser find the new parcels shapefile. Select it and drag it onto the map window of QGIS Desktop. This is another way to add data to Desktop.

From the Menu bar in QGIS Desktop, choose Project | Project Properties.

Click the CRS tab and Enable ‘on the fly’ CRS transformation. Click OK to save the setting and close the properties window.

The project should now have a CRS of EPSG 2903 (which is NAD83(HARN) / New Mexico Central (ftUS)) and on the fly CRS transformation is enabled. You can check this by looking at the lower right hand corner of QGIS Desktop and ensuring that EPSG: 2903 (OTF) is listed. If not right click on the parcels layer and from the context menu choose Set Project CRS from Layer.

Save the project to the Lab 5 folder and name it Lab5.qgs.

From the menu bar choose Plugins | Manage and Install Plugins

The Plugins manager will open. Options along the left side allow you to switch between Installed, Not Installed, New, and Settings. The plugin you will use is a Core QGIS Plugin called Georeferencer GDAL.

Since it is a Core plugin it will already be installed. You just need to enable it. Click on Installed plugins and check the box next to Georeferencer GDAL (shown in figure below).

Click Close to close the Plugins window.

To open the Georeferencer plugin go to the menu bar choose Raster | Georeferencer | Georeferencer.

The Georeferencer window opens. Click the Open Raster button at the upper left hand side (see figure below).

  1. Navigate to the Lab 5/Data folder and select the zone_map.bmp and click Open. Note: If the Coordinate Reference System Selector window opens click Cancel to close. This dataset does not yet have an Earth-based coordinate system. The source data will now be loaded in the Georeferencer (shown in figure below)

The source data is a map. On the map, there are 5 points with their associated names (for example, one point's name is: I25 27). These are benchmarks maintained by the National Geodetic Survey. To georeference this scanned map, you will create control points at these five locations. The plugin will then develop a georeferencing equation based off the set of source and target coordinates at these five locations. QGIS will obtain the source coordinates from your mouse click on those points. You will look up the target coordinates for these benchmarks from the NGS website.

  1. The NGS website is at http://www.ngs.noaa.gov/cgi-bin/datasheet.prl. Open the site. Note: If you are unable to access the internet, the NGS Data Sheets have been downloaded and saved in the Lab 5/Data/NGS Data Sheets folder. Please read the next few steps to learn how the NGS Data Sheets were acquired.

You will search for each of the benchmarks that appear on the map by searching for each benchmark’s datasheet. You will use the Station Name option to do the search.

On the website click on the DATASHEETS button. Then click on the link for Station Name.

To find the first station, enter the station name of I25 27 (include the space), and then choose NEW MEXICO for the state. The search is shown in the figure below. Note: the station name is I25 27 with a capitalized letter i.

The search should return the page shown in the figure below.

  1. Highlight the station name and click the Get Datasheets button and you will get something that looks like the figure below.

This is an NGS Data Sheet. It gives measurement parameters for NGS benchmarks located throughout the United States. One piece of information it includes are coordinates for benchmarks in State Plane feet (highlighted in the figure above). There are two sets of State Plane coordinates on the NGS Data Sheet one is in meters (MT) and one is in feet (sFT). Be sure to use the set in feet. Important Note: There is a dash before the North coordinate. It is not a negative number.

Find the data sheet for each benchmark shown in the map and fill in the coordinates below. The coordinates for the first station have been entered already. Note: If you are unable to access the internet, the NGS Data Sheets have been downloaded and saved in the Lab 5/Data/NGS Data Sheets folder.

The next step is to enter the control points in the Georeferencer. Click on the Add point button .

It is important to be precise and click directly on the point. To help make your selection more precise, you can zoom and pan by using tools in the View toolbar (shown in figure below). If you want to redo a control point click the Delete point button then click on the point to delete.)

With the Add point button selected, click on point I25 27.

The Enter map coordinates window opens. Enter the easting and northing State Plane Coordinates that you retrieved from the NGS Data Sheet into the two boxes. Make sure you enter them correctly. The correct coordinates are entered for I25 27 in the figure below.

Click OK and a red control point will appear on the map where you clicked. The source (srcX, srcY) and destination (dstX, dstY) X,Y coordinates will display in a table at the bottom of the window.

Repeat this procedure for points ‘I25 28’, I25 29’, K 15 S’ and ‘STADIUM’. After the 5 control points have been entered your Georeferencer window should look like the figure below.

To perform the transformation click the Start georeferencing button .

The Transformation settings window will open (see figure below). If beforehand you get a message saying ‘Please set transformation’ type click OK.

In the Transformation window choose the Polynomial 1 as the Transformation type.

Choose Nearest neighbor as the Resampling method. This is the standard raster resampling method for discrete data such as a scanned map.

Click the browse button to the right of Output raster. Navigate to your Lab 5/Data folder.

Create a new folder named New Data then enter the folder.

Name the file zone_map_modified_spcs.tif and click Save.

Click the browse button to the right of Target SRS. Type 2903 into the Filter.

Click the NAD83(HARN)/New Mexico Central (ftUS):2903 CRS then click OK.

Check Load in QGIS when done.

Click OK to close the Transformation settings window and perform the transformation.

Close the Georeferencer and Save GCP points when prompted.

Right click on the zone_map_modified.tif and choose Zoom to layer extent to see the georeferenced image.

Using the Add vector data button add the netcurr.shp shapefile in the Lab 5/Data folder to QGIS. This is a shapefile representing city streets produced by the City of Albuquerque. If the transformation was done correctly, the streets will line up with the georeferenced parcel map image (shown in figure below). Save your map file.

Task 3 - Heads-up Digitizing From Transformed Source Data

Now you will digitize the parcels off the georeferenced image into the parcels shapefile.

Drag the parcels layer above the zone_map_modified_spcs layer in the Layers panel. Right click on parcels and choose Toggle editing. This puts the parcels layer into edit mode. Notice that a pencil appears next to the layer in the Layers panel indicating that layer is in edit mode. Only one layer can be edited at a time.

Turn off the netcurr layer's visibility.

Using the Zoom in tool, drag a box around the M-1 parcels in the northwest corner of the image. You will digitize these first.

There is an Editing toolbar for editing vector datasets (see figure below). If you do not see that go to the menu bar to View | Toolbars and turn it on. The tools available change slightly depending on the geometry of the data you are editing (polygon, line, point).When editing a polygon layer you will have a tool for adding polygon features.

  1. Click on the Add Feature tool . Your cursor will change to an editing cursor that looks like a set of cross hairs.

Polygons are constructed of a series of nodes which define their shape. Here you will trace the outline of the first parcel clicking to create each node on the polygons boundary.

Put your cursor over a corner of one of the polygons. Left click to add the first point, left click again to add the second, and continue to click around the perimeter of the parcel. After you have added the final node finish the polygon with a right click.

An Attributes window will open asking you to populate the two attributes for this layer: id and zonecode. Give the parcel an id of 0 and the zonecode is M-1 (shown in figure below). Each parcel feature will receive a unique id starting here with zero. The next parcel you digitize will be id 1, the one after that id 2 etc.

If you want to delete the polygon you have just added, click the Current Edits tool dropdown menu and choose Roll Back Edits to undo your polygon.

Adding single isolated polygons is pretty straightforward. Zoom back to the extent of the image. You can do this by clicking the Zoom last button .

Find the big parcel in the south central area. There is a parcel with zoning code SU-1 that wraps around O-1. Zoom to that area.

Open the Layer properties | Style tab for the parcels layer and set the Layer transparency to 50%. This will allow you to see the source data underneath your parcels as you digitize.

Digitize the outer boundary of the SU-1 parcel ignoring the O-1 parcel for the moment. Fill in the attributes when prompted (id=0, zonecode=SU-1). The SU-1 polygon will be a ring when completed but for now it covers the O-1 parcel.

To finish SU-1 you will use a tool on the Advanced Editing toolbar. To turn that on go to the menu bar and choose View | Toolbars | check Advanced Editing. Dock the Advanced Editing toolbar where you would like (toolbar shown in figure below). (All toolbars in the QGIS interface can be moved by grabbing the stippled left side and dragging them to different parts of the interface.)

  1. Now you’ll use the Add Ring tool . Select it and click around the perimeter of the O-1 parcel. Right click to finish. This creates a ring polygon (shown in figure below).

  1. To Digitize O-1 you will use a tool that is part of the Digitizing Tools Plugin. First open the Plugin Manager and search for 'Digitizing Tools' in the All category. Select the Plugin and click the Install Plugin button. You should get the message Plugin Installed Successfully. Once it has been installed switch to the Installed plugins and make sure the Digitizing Tools toolbar is visible. Dock the toolbar.

On the Attributes tool, click the Select Features. tool and select the SU-1 polygon.

On the Digitizing toolbar, select the dropdown next to the Fill ring with a new feature (interactive) tool and select Fill all rings in selected polygons with new features tool (selection shown in figure below).

You will immediately be prompted to enter the attributes for the new O-1 polygon (id=2, zonecode=O-1).

Click OK when done and the new polygon will appear. It automatically fills the space leaving no gaps.

Use the Identify tool to click on O-1 and SU-1 and verify that they are digitized correctly.

Note: If you end up needing to move one or two misplaced vertices on a finished polygon you can do that. Use the Select Single Feature tool to select the polygon, and then use the Node Tool to select the individual node and move it.

To digitize the remaining polygons, we will first turn on snapping options to make it easier to have adjacent polygons share vertices and/or segments.

  1. To do so first you will set your snapping environment. Go to the menu bar and choose Settings | Snapping options.

This is a window that lets you configure what layers you can snap to while editing and set the snapping tolerance. The Snapping mode lets you control what portions of a feature are being snapped to.

  • To Vertex will snap to vertices
  • To Segment will snap to any part of another layers edge
  • To Vertex and Segment will snap to both.

The Tolerance determines how close your cursor needs to be to another layer before it snaps to it. It can be set in screen pixels or map units. In our case map units are feet.

For Snapping mode, change it to Advanced. The Snapping options dialog will now show a list of map layers and options.

Check parcels since we want to snap our parcels to that layer. Set the tolerance for parcels to 50 map units and choose a Mode of 'to vertex'.

Check the box under Avoid intersections to the right of Units (shown in the figure below). This enables Topological editing. When digitizing a shared boundary with this option checked you can begin with one of the vertices at one end of the shared boundary. Then continue digitizing the boundary of the new polygon and end at a vertex at the other end of the shared boundary. The shared boundary will be created automatically eliminating digitizing errors.

The map units are feet so when you get within 50 feet of a node (aka vertex) you will snap to it. This allows you to be much more precise than you could otherwise.

If snapping is interfering with digitizing a parcel polygon you can go to Settings | Snapping options at any time (even during digitizing) and turn snapping off until you need it again.

  1. Finish digitizing the polygons. Anytime you have a parcel that shares a boundary with another, use snapping to make sure you create two parcels without a gap in between.

Remember you can adjust the snapping tolerance and what features are being snapped to Vertex, Segment and Vertex and Segment.

When finished, click the Toggle Editing button to exit out of editing mode. You will be prompted to save your changes. Click Save to save the edits.

Turn off the zone_map_modified_spcs raster. You are done with that now. It was an intermediate step necessary to get the parcel boundaries digitized.

Task 4 - Editing Existing Geospatial Data

Now that you have digitized data into the empty shapefile you created, you will learn how to modify existing shapefiles.

Click the Add Raster Layer button and navigate to the Lab 5/Data folder.

Set the filter to Multi-resolution Seamless Image Database (*.sid, *.SID).

Drag the parcels layer above the image in the Layers panel.

Turn off the parcels layer.

Now you will make an edit to a line layer. Turn on the netcurr layer.

Zoom into the location highlighted in Figure below.

You will digitize the missing main road, shown in yellow in the figure below.

Toggle on editing for netcurr.

Set your Snapping options so that only netcurr is being snapped to, with a Mode of To Vertex and a Tolerance of 20 feet.

Using the Add Feature tool on the Editing toolbar , digitize the new road making sure to snap to the roads at the northern and southern ends. Use the centerline of the road while digitizing.

There are many attributes for this layer. You will just enter a few. Enter the STREETNAME as Park, the STREETDESI as Place, the STREETQUAD as SE and the COMMENTS as Lab 5. Click OK.

Toggle off editing and Save.

In this lab, you have successfully digitized information using the five-step digitizing process. Additionally, you have recreated the original source data (scanned as a raster) in the vector format. Digitizing can be a time-consuming and tedious process, but can yield useful geographic information.

What can contribute to errors in the georeferencing process?

What other vector geometries (point/line/polygon) could be appropriate for digitizing a road? In which instances would you use one vector geometry type over another?

When you created the parcels shapefile you added a text field to hold the zoning codes. What are the possible field types? Explain what each field type contains, and provide an example of a valid entry in the field.

Aerial photography has a lot of information in it. What other features could you digitize from the imagery in this lab? Explain what vector geometry you would use for each.

6. Challenge Assignment (optional)

You have successfully created the parcel data from a scanned map. You have also fixed the roads data in this part of town. There are some sports facilities visible: two football fields and a baseball field. Create a new layer and digitize those three facilities (include the grassy field areas at a minimum).

Create a simple page sized color map composition using the QGIS Desktop Print Composer showing your results. Show the parcels, sports facilities, parks, roads and aerial photography. Use Categorized styling to give a unique color to each zone code in the parcel data. Include:

Legend (be sure to rename your layers so that the legend will be meaningful.)

You can credit the data sources as the City of Albuquerque and yourself. If you need to refresh your memory on creating a map layout, review GST 101 Lab 4.


Step 1: Download Sentinel-1 Imagery

Assessment of flooded areas can be done using radar data, such as the Sentinel-1 SAR imagery provided by the European Space Agency (ESA). For this example, I'm using Sentinel-1 Level-1 Ground Range Detected (GRD) data which already has some basic pre-processing done on it. More info about the Sentinel missions, products, and uses can be found on the Sentinel Online Website. Access to the Sentinel data is provided through the Copernicus Open Access Hub. Although the data is free to use, you will need to register or sign up first before you can download the data.


Contents

Evaluating the current data

Before you begin, please make sure the area you want to improve doesn't already have good coverage. Just because it looks bad in FlightGear does not mean the area has not been improved. For this, you will need to check the Flightgear Mapserver, at mapserver.flightgear.org.

Let's take a look at the Finistère in Brittany, Western France: if you click here, you will quickly see and understand how FlightGear interprets the data pertaining to Finistère county. Some towns/cities (red), a few forests (green), etc. Overall, it is not a very good resolution: a lot of angles, the detail level is not that good, some towns are missing. If you want a better definition on ground, there is some work to be done! The goal being to obtain something like this:

You will immediately notice the improvement to the ground. When flying, the difference is huge. Moreover, this enables the autogeneration of cities, trees, farmland, and so on.

Downloading the Landsat pictures

  1. Click Map Search.
  2. Tick the ETM+ box (left column).
  3. Click on Update Map on the right bottom of the map.
  4. Click on the Place tab on the upper side of the map, in order to do a search by place, or you can do a search by latitude/longitude.
  5. In the Place field, type Amsterdam, Netherlands for instance.
  6. Now click the button with the mouse and the small + sign. This will allow you to select image tiles. Select all images that cover your area of interest, in our example this is just one image.
  7. Click on Preview and download. This bring you to a selection page were you can choose what image you want to download. It is likely that there are pictures available from different dates for your area. Picking the most recent one is best, for known reasons.
  8. Clicking the ID will not bring you directly to the download page, first you have to click the Download button.
  9. Download the _nn80.tif.gz file (if this is not available, try an older image). Note that Landsat images are separated in different bands. Band 1/2/3/4/5/7 have 30m/Pixel resolution while band 8 (_nn80.tif.gz) has 15 meters per pixel.
  10. Uncompress the .tif.gz files in the directory of your choice.

Working with QGIS

Using a GIS software gives you the opportunity to realize a full range of interesting operations: modification of map data, updates on the ground classification, etc.

The following is largely adapted from the original QGIS scenery tutorial, which you may find of use.

  1. Launch QGIS.
  2. Click on Layer > Add a Raster layer.
  3. Modify the filter to search for *.tif files.
  4. Add the TIFF file you have just downloaded.
  5. Rightclick on the image in the layer sidebar and choose Set layer CRS, to select a projection model. This depends on the location of the area you're about to create. Look up your project's UTM coordinate through this image. For Texel this is 31U, north of the equator, so we choose Projected Coordinate Systems > Universal Transverse Mercator (UTM) > WSG84 / UTM zone 31N. Locations south of the equator may need to use the 'N' zones as well. For example, the correct projection for Perth, Australia is Projected Coordinate Systems > Universal Transverse Mercator (UTM) > WSG84 / UTM zone 50N. Always select 'WGS84', as that is the globe model used in FlightGear.
  6. Click on Layer > New > New Shapefile Layer or on the corresponding icon. A dialog should pop up.
    1. Make sure the vector type is set to polygon.
    2. Click the 'specify CRS' button, to select a projection model. This must be the same as we did for the tiff background image.
    3. You need to create a data column for this layer. Create a new attribute called 'class'. Make sure it is a 'text data' (string) column. Add it to the attribute list.
    4. The 'OK' button should now be available for you to select. Select 'OK'.
    5. There should be a dialog box prompting you to save your vector layer. Save it in your scenery directory with your GeoTIFF. (This is not required but significantly helps organization.)

    Continue with tracing all shapes on the island: towns, industrial areas, grass, farmland etc.

    Snapping

    It is very important to enable "snapping" now.

    Snapping means each polygon will fit together nicely, like a jigsaw puzzle. If snapping is not enabled, the polygons will not form a continuous layer, which has a number of different problems.

    We don't want small holes in our scenery, nor do we want overlapping polygons. Snapping adjusts each point as you go by - you will miss occasionally and have to correct it - so you don't have to worry about lining the polygons up precisely.

    1. Open Settings > Snapping Options.
    2. Click the tickbox(es) in front of your layer(s) and set Tolerance to 20 (map units). A smaller tolerance will make it easier to work with very small and detailed layers, while a bigger value makes it easier to snap when zoomed out.
    3. Click OK to save the snapping options.

    Distinguishing Land Class Types from LANDSAT data

    You may Google Maps or Yahoo Maps running alongside your program to see what is what on the black/white image, but most areas are recognizable without use of the software. If you need help determining what part of the black-and-white image, please currently refer to the original Stattosoftware Scenery Tutorial. Instead of determining in a single band image you can also combine different ETM+ bands in a RGB file. Some information about different band combinations can be found here [2].

    Exporting the shapefile

    In order to turn the landclass into scenery we have to split it into seperate shapefiles for each landclass.

    1. Open the Attribute table (Layer > Open Attribute Table).
    2. Type "Sand" (or another class) into the search box and press the Search button. This will select all polygons that have the Sand class assigned.
    3. Go to Layer > Save Selection as vector file and save the sand shapefile somewhere on your computer.
    4. Do the same for all other classes.
    5. To make the difference between land and sea (landmass) we save the entiry shapefile (Layer > Save as. , ESRI Shapefile).

    If you want to see these shapefiles integrated into the Custom Scenery database you can contact papillon81 and statto (through IRC or Forum). Please be remembered that your data has to be derived from freely available (public domain) sources. Other material can not be integrated due to legal issues.

    Generating scenery

    Please continue with TerraGear to generate the landclass into useable scenery.


    QGIS for an introduction to GIS college course

    I am enrolled in an Introduction to GIS course through UMUC that starts in February. The books required for the course include one for ArcGIS however, I only have a computer at home with Ubuntu. I plan on asking the professor, but I was curious if the community at large thinks I am handicapping myself by running QGIS through the eight week course. It looks like there are some posts that mention some significant difficulties transitioning from one to the other.

    Update: Thanks everyone for the advice. I should have clarified up front that the course is presented in an online format, so unfortunately I can't take some of your suggestions and use a lab to do my work. Based on your guidance I have decided that I really ought to stick to using ArcGIS since the required books include an ArcGIS text, and I don't have the time between my other obligations to really play around with QGIS and keep my standard for a grade. However, given my situation I found an acceptable solution. Someone I know happens to have a spare desktop that I can use for the duration of the course. I appreciate all of your input and advice! I hope that you remain as helpful if I come through later and ask questions, sounding like an idiot!

    I have taken several GIS based courses at both undergrad and graduate levels, and I would recommend especially for an intro GIS course using ArcGIS. Most intro courses will give instruction, to perform different analysis, that will be step by step assuming you are using ArcGIS and it could be very difficult to do these steps in QGIS if you have little experience. (Not that QGIS does not have it benefits, as I do sometime use it instead of ArcGIS depending on what I need.) Also, the instructor should be able to provide you with a one year student license of ArcGIS, as Ersi gives these to universities for free to distribute to students.

    I have some CDs that came with the license for ArcGIS for the two month period that class will run, but I was a little more concerned with getting ArcGIS to operate on Ubuntu. I had spaced out about the virtual machine option. Has anyone here in the sub tried this? If they have, was it problematic? I read elsewhere it may be problematic. I can always install a second windows partition for this purpose if necessary, but I really don't want to buy a copy of Windows if I can get away with it.

    I've recently started "playing" with QGIS, I have only worked with ArcGIS. What in particular do you use it for, instead of ArcGIS, regarding your comment "depending on what you need"?

    QGIS is a good alternative if you already know what you are doing and can translate how QGIS does what it wants you want it to do. You will at least know what you are looking for if you start in ArcGIS. Especially if you are learning in a class that is teaching using ArcGIS. Run a copy of windows in a virtual machine and install ArcGIS on it. It should run just fine.

    Student here as well I've mostly worked with ArcGIS so far, briefly touching upon QGIS. You can request a 2-month trial from ESRI for free as a student, so that should cover your course. I would advise using that during the course to grasp the basics and then switch to QGIS if you plan on continuing with analyses and don't want to pay for ArcGIS

    I'm a lab instructor (grad student assistant) for an online GIS course. GiS is an industry dominated by PC users. Especially in government. We try to use open source alternatives for lots of different software (including QGIS vs ArcGIS), but we still have a lot of trouble with operating systems among the students and were struggling to find a good solution.

    Let me start off by saying that QGIS and other open source tools (eg GeoDa) are awesome and I use them all the time, for my own work.

    For an intro course, the other commenter is right to say that the assignments are step by step through the Arc GUI. Menu options are not even close to the same in QGIS. Some of my more motivated students have been able to get by without using Arc.

    I was a Mac user when I started school, until I was forced to switch because I needed arc and other PC and Linux software and my crusty old Mac couldn't handle it even if I did partition. I did almost all of my GIS work on campus PC's. Despite the obvious inconvenience of being on campus, I planned my time to be at maximum efficiency. This has the bonus of not filling up your computer with random data, copies of said data, multiple versions, etc. I had a 16GB thumb drive and didn't have (serious) issues.

    Just be realistic with yourself. If you're good at learning new software, you could get away with QGIS. Also check with your instructor to see what their advice is. Every course is different. Check if the software you need is installed on campus computers (big schools tend to have a license for Arc.)


    1 Answer 1

    First assume that both poles are vertices of the polygon. Then we are up to symmetry in one of the following four cases:

    Using suggestive labels (i.e., $n$ for north pole etc.), the perimeter is $nw_1cdots w_mse_1cdots e_kn$ for some non-negative integers $m,k$ where $m+k$ is even. In the first figure, we may have $m=k=0$ , in which case it corresponds to your first example and we are done. In the second figure, we cannot have $k=0$ as this would not allow us to glue edge $sn$ to anything. Thus we we may now assume $mge1$ and $kge 1$ .

    If $nw_1$ is glued to $se_1$ (and $e_kn$ to $w_ms$ ), the final result is not homeomorphic to $S^2$ .

    Assume $nw_1$ is glued to $ne_k$ (and $se_1$ to $sw_m$ ). Then in in figure 1, vertices $w_1,e_1$ can be dropped as a simplification step. Whereas in figures 2 and 3, the interior angle at $w_mequiv e_1$ exceeds $2pi$ , which is forbidden. Remains figure 4: As the interior angle at $w_1equiv e_k$ is already $2pi$ , we conclude that $w_1w_2$ is glued to $e_ke_$ . We can cut off triangle $ne_e_k$ and paste it back in as triangle $nw_2w_1$ , which is a simplification step that reduces the number of vertices.

    Finally, assume that $nw_1$ is glued to $sw_m$ (and $se_1$ to $ne_k$ ). For figure 1, this is your second example and we are done. For figures 2, 3, 4, the interior angle at $w_1equiv w_m$ is already $2pi$ , hence we must glue $w_1w_2$ to $w_mw_$ (and in particular, $mge 3$ ). We can cut off $nw_1w_2$ and paste it back as $sw_mw_$ , which is a simplification step that reduces the number of vertices. (If $m=3$ , this is the simplification procedure you gave as an example)

    Next, assume that all vertices are equatorial and the perimeter is $e_1e_2cdots e_me_1$ for some even $mge 2$ . If $m=2$ , vertices $e_1$ and $e_2$ must be antipodal and we can rotate the polygon to move the vertices to $n$ and $s$ , bringing us to figure 1 above. If rotating equatorial vertices to the poles is frowned upon, we can of course also cut along the diagonal $e_1e_2$ passing through the pole in the interior of the polygon and reassemble the resulting spherical triangles accordingly.

    So assume $mge 4$ . In order to produce $S^2$ , there must exist a vertex such that its two incident edges are glued together. Wlog $e_1$ is such a vertex, i.e., $e_1e_2$ is glued to $e_1e_m$ . This brings the interior angle at $e_2equiv e_m$ already to $2pi$ , so that we must glue $e_2e_3$ to $e_me_$ . We conclude that vertices $e_2$ and $e_m$ can be dropped, simplifying the polygon.

    Finally, assume that only one pole is a vertex of the polygon, i.e., the perimeter is $ne_1cdots e_mn$ for some odd $mge 3$ , and we glue $ne_1$ to $ne_m$ . In the resulting perimeter $e_1e_2cdots e_m(equiv e_1)$ , there must be a vertex such that its incident edges are glued. If $e_1e_2$ is glued to $e_me_$ , we can cut off $ne_1e_2$ and reinsert it as $se_me_$ , which takes us back to the case of both poles used.

    Hence we may assume that there is some $1<i<m$ such that $e_ie_$ is glued to $e_ie_$ . This allows us to cut off $e_cdots e_mn$ (which may be degenerate) and reinsert it as $e_'cdots e_1n$ . After that, cut off $ne_ie_$ and reinsert it as $se_ie_$ , which takes us back to the case that both poles are used.


    Calculating 'width' of polygons

    hey chaps, what method do you guys use to get the 'width' of polygons?

    I got a road network of 477 km with polygons no longer than 150 metres and of each polygon I want to calculate the width.This is possible to do using a bounding box and figuring out the four segments (width1, width2, length1, length2). But when I got a roundabout or something I run in to troubles.

    what I actually wish to do is draw lines within the polygon perpendicular to one side, sort them by length and delete the top and bottom 10 % and calculate the average length of the lines that are left.I believe this would be the most trustworthy approach, or am I being stupid and does some1 believe there is a much easier approach to doing this?

    I am planning to do this using python, or a combination of python, FME and QGis.

    Any insight would be much appreciated!

    Edit: added pics for visualising, in the second pic you see the lines I wish to draw and pull the average length of.

    I had a similar task a few years back where I had road centerline and road polygon data and needed to compute average width of roadway. I wrote a Python script to generate lines similar to what you sketched and used that. It worked really well.

    In your case, you don't have centerline data already, so generating perpendicular lines along the narrow portion of the polygon might take some thought. For example, XTools has a Calculate Polygon Width tool, which first calculates the polygon centerline, then determines the widths from there. XTools is a paid ESRI extension outside your list of software, but just looking at their help documentation and diagram might give you some insight on how to develop a similar tool.

    Another thing I have done in the past where a precise answer wasn't as critical and I knew all of my polygons were narrow and relatively straight was to use simple math and back-calculate a width using the perimeter and area of the geometry. This thread's accepted response has more info on this type of approach. Looking at your screenshot, this approach might be valid depending on how precise you need your answer to be and what your polygons look like across the whole data set.


    Georeferencing Scanned Paper Maps

    Remember that in the first tutorial, the scanned map we used had already been retrieved from an archive, scanned, and georectified by another mapmaker. Unfortunately, this won’t always be the case, so it’s helpful to know how to do it ourselves.

    Retrieval and scanning are pretty straightforward - the main requirement here is that you somehow locate a map of interest and obtain a high-quality digital copy (use a flatbed scanner!). But what does it mean for a scanned image to be georectified? Our problem is that even if a newly-created digital image depicts a map, the data contained with the image has no intrinsic spatial properties. The image is just a 2-dimensional grid of different-colored pixels without scale or location. If you’re thinking this sounds like raster data, you’re on the right track - we just need a way to assign spatial specificity to this grid of pixels so we can treat them as raster cells.

    Assigning that specificity has two parts - first, if we know the projection of the map in the scanned image matches the projection of our software map environment, all we need to do is assign scale, rotation and position and each pixel in the image will then line up neatly with a corresponding cell in geographic space. We call this georeferencing. If the original map was drawn in a different projection, an additional step is required where the image is warped to match the desired projection. Georectifying refers to this complete process of scaling, rotating, positioning and warping the scanned image.

    Let’s open up a copy of the Tutorial 2 map and save it in our project folder as Tutorial3_MakingData . We’re going to shift our area of focus slightly and create data from a scanned map of Mott Haven in the South Bronx, so you can remove all the layers except the Stamen Toner base map. Zoom out slightly and pan the map across the river to the area shown below.

    Also find the nypl_mott-haven.jpg file in the Shared_Data folder and take a look. Before we can begin the process of aligning the image with our map environment, we’ll also need to activate what QGIS calls its Georeferencer plugin by going to Plugins > Manage and Install Plugins… in the Menu Bar. Type “georeferencer” in the pop-up window’s search bar, check the box and click Close.

    Maps of New York City from the 20th century will pretty much always use what we call the “New York State Plane” projection, which is also likely to work well for earlier surveyed maps. Change the projection of your map environment to “NAD83 / New York Long Island (ftUS)” or EPSG:2263 via the projection icon in the Status Bar or through Project Properties.

    Finally, you can launch the Georeferencer via the menu bar under Raster > Georeferencer. A new window should appear. Click the “Add Raster” button at the upper left corner, and choose nypl_mott-haven.jpg from the file picker. Select the same EPSG:2263 projection when prompted.

    The Georeferencer works by having you pick corresponding points on both the scanned image and the main qgis map environment. Since this workflow relies on switching back and forth between two windows, it’s a good idea to place them side-by-side on your screen and try to adjust the orientation (and rotation) of your map environment to match the scan like so:

    Next click the green “Start Georeferencing” button and fill out the Transformation Settings window as shown, setting the output path to your “My_Data” folder:

    You may have already noticed but there are some pretty substantial differences between the scanned map and the present-day version. One of the challenges in georeferencing historical maps is identifying with confidence which map elements can be trusted to align properly with their contemporary counterparts. Luckily for us, the New York City street grid is relatively constant so let’s start there.

    In the Georeferencing window, use the “Add Point” tool on the toolbar (look for a small yellow star) to place a point on the scanned map. You’ll be prompted to “Enter Map Coordinates” but you can use the “From map canvas” button to pick a corresponding point in your map environment. When you click OK, you’ll see a new entry in the “GCP Table” and a red point will appear on your reference location in both the main Map Panel and the Georeferencer.

    Repeat this process until you have at least four reference points established (more is better!). Try to achieve a relatively even distribution of points across the space of the scanned map. If you’re unsure of a point once it’s been selected, you adjust its position with the Move GCP Point tool or simply delete it.

    Once you have enough points set, click the “Start Georeferencing” button again and a georeferenced raster version of your scanned map will be created and added to the project. Note that the plugin also provides a toolbar button and menu item to “Save GCP Points” - if you have several versions of the same paper map (scanned at the same resolution) you can use this functionality to recycle georeferencing settings each time you import a new sheet.

    You can check your results by adjusting the transparency of the new layer like we did in Tutorial 1. Getting a good result can be time-consuming, but you can usually get something decent without too much work.


    QGIS/C2/Digitizing-Map-Data/English

    coordinates from a map, image or other sources of data are converted into a digital format.


    The converted data can be stored as a point, line or a polygon feature in GIS.

    Example map to practise

    To practise this tutorial, you need to download the thematic map of Bangalore city given in the Code files link.


    This is a map depicting development of Bangalore city.

    Steps to download Code files


    Click on the link Code files, located below the player and save it in your folder.


    Extract the downloaded zip file.


    Locate Bangalore.jpg file in the extracted folder.


    From the context menu select QGIS Desktop.


    From the context menu select, Open with QGIS Desktop.


    In QGIS tips dialog-box, click on OK button.


    QGIS Tips dialog-box opens.


    Note that WGS 84 is the most widely used geographic coordinate system.


    Click on OK button at the bottom of the dialog-box.

    Select Create Layer option.

    Click on New Shapefile Layer option.

    From the sub-menu, select New Shapefile Layer option.


    Let us name the file as Point-1.


    Click on Save button.

    I will choose Desktop.


    Click on Save button at the bottom-right corner of the dialog-box.


    Notice that the file will be automatically loaded in the Layers Panel.


    IT establishments are indicated as flag symbol.

    Locate the points indicating IT establishments on the map.


    Type 1 in the id text box.


    Type 2 in the text box in Point-1 Feature Attribute input box

    Click on Save button.


    From the context menu, select Open Attribute Table option.


    From the context menu, select Open Attribute Table option.


    Choose a color by rotating the color triangle.

    Select Create Layer option.


    Select Create Layer option.

    Click on Polygon radio button


    Select Type as Polygon.


    Let the Type be Text data.


    Point to the two rows in Fields List table.


    In the Fields List table, you will see area row added.


    Save Layer as.. dialog-box.


    Type the File name as Area-1.


    Click on Save button


    I will select Desktop.


    Click on Save button.


    Right click to end the polygon.


    To mark the area, click anywhere on the boundary of Corporation area.


    Please ignore these messages.


    You can start the process again.


    and City Corporation Area in Area text box.


    Type 1 in the id text box.


    Type Corporation Area in area text box.

    Type 2 in the id text box.

    Type Greater Bangalore in the area text box.


    And Greater Bangalore in the area text box.


    Open attribute table from the context menu.


    Select Open Attribute Table from the context menu.


    Close the attribute table.


    Select Properties option from context menu.

    Select Properties option.


    Click on Classify button.


    Click on Classify button.

    • Create and digitize Point and Polygon shape files.
    • Change style and color for Point and Polygon features.

    On the Banglaore thematic map (Bangalore.jpg),

    • DigitizeIndustrial Estates
    • Digitize the roads on the map, by creating a Polyline feature.

    About the Spoken Tutorial Project

    Please download and watch it.

    Spoken Tutorial Workshops

    For more details please write to us.

    Forum for specific questions:


    More information on this mission is available at the following link.