Tag Archives: QGIS

QGIS – Creating Longsection Profiles along lines at a specified interval

There are many analysis applications that require long section data or profiles to perform 2d sectional computations. Getting this data seems to be tricky for a lot of these users, so in this tutorial I want to share a method that’s free and easy using QGIS (2.18.4 when I wrote this).

Watch the video here if you’re feeling lazy.

Prerequisites

  • Vector Data for lines (SHP file, Excel Start/End Coords)
  • Raster Data (Geotiff(s)/Esri Grids etc.) contain desired elevation data. You can use multiple rasters if desired for geology etc,
  • QGIS Version >2.18
  • “Locate Points Along Line” – Plugin Installed (demonstrated in video)

Process

In the image below we have a series of lines that we wish to extract elevation data along.

Typically we will start with data that looks like below, its really important that we have at least

  • Easting and Northings of Start/Ends or vertices.
  • A group field to determine which points belong to which lines
  • And an order field to determine which direction the lines is drawn in.

Save this file as a csv somewhere

Now click the big comma on the left to load a csv in QGIS

Ensure “comma” delimiter is checked, “First Record has field names” is checked. (typically it does) and that the X field and Y field are choosing the correct column for geometry, this typically happens automatically.

Finally check the output at the bottom to determine its write.

Very important to note here that you will need to then specify the coordinate system(CRS) this data is in. Right click the layer and select “Set Layer CRS”

Type in the filter to find the correct CRS

All the points have come in but we now need to connect the dots

Open the Toolbox (Ctrl+Alt+T)

Search for “Points To Path” in the toolbox and double click to load

Specify the layer that contains the points, ensure the group (line ID) and order(numbers to determine line direction) fields are selected correctly. Then chose a place to save the shp file.

We now have lines but we need a raster to get elevations from

Either “Drag-Drop” in the Geotiff/Esri Grid etc. you have or select the add raster button on the left

Double check the raster covers the extent of the lines! You may need to assign the CRS for this later as well.

We now have everything but the points at the desired interval to get elevations from. We now need the plugin “Locate Points Along Lines”. Install from “Manage and Install Plugins…” if you don’t have it!

Choose a name/interval spacing and ensure “Keep Attributes” and “Add Endpoints” are ticked on. Then hit run.

Check that you have the desired results and the end points

Finally we need to add the elevations to the attribute table of these points. Right Click on the layer and select “Attribute Table” and you will see current there is no elevation data column.

In the toolbox again search for “Add Raster Values to Points”

Ensure you select the 0.5m interval points layer you created. Chose the rasters to process and also chose a place to save the resulting layer.

Remove the old layer that doesn’t have elevations

Right click on the finished layer and select “Open attribute table”

You should be able to see the elevation column at the end.

Select the top left corner of the attribute table and the press “ctrl+c” to copy all the data out

Then just past in excel and clean as required

Loading

Importing high resolution imagery from Google to CAD using QGIS

See my previous post here to see the full process. This is an expansion on this process to bring in more or better quality imagery.

Once you have setup your coord system etc. as per previous post, you then want to zoom your screen down to the desired resolution. I find going one zoom level further in than you like is usually a good strategy.

Now you want to keep pressing “save as image” then panning your screen around to get the tiles you desire. Just use your middle mouse button, don’t zoom in and out. Give the images about 5/10% overlap.

Once you have saved all the images you need. Just read them back in to have a look at the finished result. I have saved 6 images below.

Now I want to merge them together as one image.

Raster -> Miscellaneous -> Merge

image004image005

So now you just need to output your merged image in the desired coordinate system.

Right click the layer and press “save as”

Make sure you tick “rendered Image” and specify your desired coord system.

Give it a short moment to output

Now read into cad. Don’t forget to set your units to “meters” on command INSUNITS if you are using the metric system.

You should now have an image in CAD that is better resolution, or covers a more vast area

Loading

Google/Bing etc. Imagery into CAD using Quantum GIS (QGIS)

This is the free option for those of you looking to get some public imagery into cad. Although I imagine if you are using Civil 3D 2015 with the new bing maps functionality. This method is a little defunct. If your using Vanilla Autocad you will need to download the GEOREFIMG lisp from CAD Studio to import

Feeling Lazy… Watch the video


QGIS or Quantum GIS has much more functionality than just saving Aerial Imagery. It’s a very comprehensive and powerful free GIS tool that should be in every designers arsenal.

Firstly install the latest version from https://www.qgis.org/en/site/forusers/download.html

1. Next open up QGIS from the desktop shortcut (im using 2.8.3 Wien when writing this)

2. Go to Plugins – > Manage and Install Plugins

3. Search for the OpenLayers Plugin and Install

4. Next we need some data to quickly get your location correct. Export either a 2007 DXF or MAPEXPORT a SHP file that contains some line work of your area that’s in a known coordinate system.

5. You can either drag drop it into QGIS or just press the “Import Vector Data button”

6. QGIS should prompt you for a coordinate system for your data. If it doesnt, right Click on the layer in the layers window on the left and select “Set Layer CRS”

7. Im in Australia so I select MGA zone 56. QGIS’s coordinate system library is incredibly comprehensive so you shouldn’t have any problems finding yours here.

8. Now the imagery, go to Web -> OpenLayers plugin -> pick a imagery source. Google/Bing/Yahoo/OSM/Apple street and aerial/hybrid sources are available

9. You should now have imagery in. You might need to change the draw order to check that your line work matches up, drag drop them so that your line work is on top.
image009
I
magery in
imagery2

10. Now just get your viewport to the imagery extents you want, then turn off the linework. The image will save whatever you are looking at, in whatever coordinate system you have specified for the project.

The resolution will be what you see is what you get (WYSIWYG) so if you want a better resolution you will need to save multiple images at a closer view. See my post here on how to do that, or watch the video above.
imagery1

11. Now save your image. Go to Project -> “Save As Image” and call it “Google-PSY” the PSY indicates it is in the WGS84 Pseudo Mercator Coordinate system.

12. We now need to read the saved image back in and convert it to the correct coordinate system been – MGA zone 55. Using the Warp (Reproject) from the Raster-> Projections menu.
imagery3

13. Specify the “Google-PSY.png” we saved, choose the output file, Make sure you specify the source coordinate system (WGS84 – Psuedo Mercator) and the target coord system (mine is MGA zone 55)
imagery4

14. Export it as a “Geotiff” and call it Google-MGA55 or whatever your coordinate system is. The Geotiff format will contain all the georeferencing information inside the file.
imagery5

15. Now just use MAPIINSERT command (GEOREFIMG lisp for vanilla cad users) to import into CAD. Pow! Imagery. This also works well for stitching bits of imagery together.

Any questions just ask below.

Loading