Golden Software Blog

Helping you learn more about the latest product information, tips, tricks, techniques, and customer stories so you can visualize data and communicate results with ease.

Comparing Surfer and QGIS

Quite often people will ask, “What are the differences between Surfer and QGIS?” Below is a comparison of the main features and functionality of each program. Surfer, as you may know, provides 2D and 3D contouring complete with surface mapping software. QGIS has an assortment of plugins, and we haven’t been able to review them all. I encourage you review and let me know if there is any missing information. As new information comes in, I’ll be sure to update the matrix below.

  Surfer version 13 QGIS version 2.12.3
Price 1-3 licenses $849/license
4-10 licenses $805/license
11+ licenses $765/license
Free
Development Model Commercial Open source
Plug-ins
Red X
Green Check
Free Resources
Website
Green Check
Green Check
Live technical support
Phones
Green Check
Red X
Email
Green Check
Red X
Live chat
Green Check
Red X
Knowledge Base
Green Check
Red X
Forums
Green Check
Green Check
User Groups
Red X
Green Check
Documentation
In-program help
Green Check
Red X
Training manual
Green Check
Green Check
Paid for Resources
Full PDF user guide
Green Check
Red X
Live training
Green Check
Provided by
Golden Software &
authorized resellers
Green Check
Provided by 3rd party
contributors
Map Types
Base map
Green Check
Green Check
Contour map
Green Check
Green Check
Image map
Green Check
Green Check
Post map
Green Check
Green Check
Classed post map
Green Check
Red X
Shaded relief map
Green Check
Green Check
Vector map (1-grid)
Green Check
Red X
Vector map (2-grid)
Green Check
Red X
Watershed map
Green Check
Green Check
Viewshed map
Green Check
Green Check
3D surface map
Green Check
Green Check
3D wireframe map
Green Check
Red X
Pie chart thematic map
Red X
Green Check
Histogram thematic map
Red X
Green Check
Map Features
Axes
Green Check
Red X
Profiles
Green Check
Green Check
Scale bar
Green Check
Green Check
Color scale
Green Check
Green Check
Coordinate systems
Green Check
Green Check
Import/edit/export attributes
Green Check
Green Check
Measure distance
Green Check
Green Check
Measure angles
Red X
Green Check
Digitize XYZ points
Green Check
Green Check
Overlay maps
Green Check
Green Check
Stack maps
Green Check
Red X
Log contours
Green Check
Red X
Save/load contour levels
Green Check
Red X
Edit contours
Red X
Green Check
Inline contour labels
Green Check
Green Check
Map transparency
Green Check
Green Check
Gridding/Interpolation/Rasterizing
Inverse distance
Green Check
Green Check
Kriging
Green Check
Red X
Minimum curvature
Green Check
Red X
Modified Shepard's method
Green Check
Red X
Natural neighbor
Green Check
Red X
Nearest neighbor
Green Check
Green Check
Polynomial regression
Green Check
Red X
Radial basis function
Green Check
Red X
Triangulation with linear interpolation
Green Check
Green Check
Moving average
Green Check
Green Check
Data metrics
Green Check
Green Check
Local polynomial
Green Check
Red X
Function grid
Green Check
Red X
Variogram modeling
Green Check
Red X
Grid date/time data
Green Check
Red X
Grid reports with statistics
Green Check
Red X
Faults
Green Check
Green Check
Breaklines
Green Check
Green Check
Anisotropy
Green Check
Red X
TIN support
Red X
Green Check
Grid Functions
Math
Green Check
Green Check
Calculus
Green Check
Green Check
Filter
Green Check
Green Check
Spline smooth
Green Check
Red X
Blank/null
Green Check
Green Check
Convert
Green Check
Green Check
Extract
Green Check
Green Check
Transform
Green Check
Red X
Mosaic
Green Check
Green Check
Volume
Green Check
Green Check
Slice
Green Check
Red X
Residuals
Green Check
Red X
Grid info
Green Check
Green Check
Grid node editor
Green Check
Red X
Assign coordinate system
Green Check
Green Check
Regrid
Red X
Green Check
Grid metadata
Red X
Green Check
Grid transpose
Green Check
Red X
3D File Viewer
Red X
Green Check
Worksheet
Green Check
Red X
Automation
Green Check
Green Check
Import/Export
Import options
33
22
Export options
27
28
Open grid
47
64
Save grid
24
64

Beyond the actual functionality, another difference between Surfer and QGIS is the development models. Surfer is a commercially developed program whereas QGIS is open source and is developed by a community of contributors. While it’s difficult to quantify, I believe it’s worth mentioning the pros and cons, according to me, associated with our commercial software model and QGIS’s open source model.

As a commercially developed product, Surfer comes with a price tag. Since people are spending their hard earned dollars, it is our duty to develop a high quality product. Our developers adhere to rigorous developmental principles, all code is reviewed by another developer, and Surfer undergoes extensive internal and external testing periods. We put a great focus on the usability of Surfer to ensure feature are easy to access. Beyond the quality of the product, we take great pride in the support we provide Surfer customers. All technical support is free for any version of the product (yes, even back to MS-DOS). This includes live phone, email, and chat along with our 24x7 web resources including the open forums and knowledge base. We also have a dedicated documentation writer who ensures all aspects of Surfer is documented.

Another point worth mentioning is longevity. Golden Software has been around since 1983, and we’ve sold licenses in 185 countries and on all seven continents.

Alternatively, as an open source product, QGIS is completely free and is developed through the good intentions of anyone wishing to contribute to its feature set. As such, anyone from a hobby developer to a senior developer can contribute, but there are minimal quality controls around code quality and program usability. QGIS does seem to have a strong community of followers which is important because it is to this community you will turn for technical support. Paid-for commercial support is also offered through 3rd party contractors. Like the development of QGIS, documentation is handled through the good intentions of volunteers which results in a wide range of poorly documented features to well documented features.

Let me know your thoughts on Surfer vs. QGIS. What do you like and what do you dislike about each program?

 

Comments

No comments made yet. Be the first to submit a comment
Guest
Tuesday, 17 January 2017

Captcha Image

Keep Reading

02 August 2016
Real Life Applications

I communicated with a user recently who wanted to find the area of overlap of one specific contour line on one contour map with a specific contour line on another contour map. In his case the first contour map was temperature and the second was rainfall. He wanted to find the area where temperature was above one value and rainfall was above another value. Whether this was for agriculture or for some other purpose I’m not sure, but it got me thinking that there could be many applications for a use like this. For example, you may have a contour map of density of one endangered species, and another for a second endangered species, and you’re trying to identify high populations of both in order to create a wildlife refuge. Or maybe you have population of people on one contour map and energy use on another, and you want to find areas with low population but high energy usage so you can send conservationists into that area to notify the population of smart practices. The uses are endless!

So that said, below are the steps to determine the area where two specific contour levels on two different maps intersect. In this case, I’ll be finding the area in Colorado where temperature is greater than 12oC and precipitation is less than 50 hundredths of inches, which may indicate an area that is more prone to wildfires. The data used in this article was obtained from NOAA. January 2015 – November 2015 data was averaged and then gridded in order to produce the attached grids.

  1. Click Map | New | Contour Map.
  2. In the Open Grid dialog, choose the rainfall_avg.grd file and click Open.
  3. In the Object Manager, select the Contours- rainfall_avg.grd layer.
  4. Click on the Levels tab in the Property Manager.
  5. Change the Level method to Advanced.
  6. Click the Edit Levels button.
      a. Click the Delete button until the top level listed is 50.
      b. Click on the next level (55) and click the Delete button until the 50 level is the only level.
      c. Make sure the Label column says No (if it says Yes, double click on the Yes in the Label column to turn it to a No).
      d. Double click on the line.
      e. Change the Color to Blue and click OK.
      f. Click OK.
  7. Click on the Set button on the Coordinate System page in the Property Manager. Setting the coordinate system of the layer will allow us to change the coordinate system of the Map so we can view the area of the overlap in meaningful units.
  8. Navigate to Predefined | Geographic (lat/lon) | World Geodetic System 1984 and click OK.
  9. Click Map | Add | Contour Layer.
  10. In the Open Grid dialog choose the temperature_avg.grd file and click Open.
  11. In the Object Manager select the Contours- temperature_avg.grd layer.
  12. Click on the Levels tab in the Property Manager.
  13. Change the Level method to Advanced.
  14. Click the Edit Levels button.
      a. Click the Delete button until the top level listed is 12.
      b. Click on the next level (12.5) and click the Delete button until the 12 level is the only level.
      c. Make sure the Label column says No (if it says Yes, double click on the Yes in the Label column to turn it to a No).
      d. Double click on the line.
      e. Change the Color to Red and click OK.
      f. Click OK.
  15. Click on the Set button on the Coordinate System page in the Property Manager.
  16. Navigate to Predefined | Geographic (lat/lon) | World Geodetic System 1984 and click OK.
  17. Click on the Map in the Object Manager.
  18. Click on the Change button on the Coordinate System page in the Property Manager.
  19. Navigate to Predefined | Projected Systems | World | Popular Visualisation CRS / Mercator (EPSG 3785) and click OK.

    If we were to fill the areas below the rainfall contour and above the temperature contour, it would look like this:
    image1.png
  20. Uncheck the boxes next to each of the four axes in the Object Manager.
  21. Click File | Export.
  22. In the Export dialog, set the Save as type to GSI Golden Software Interchange, give your file a name (like "overlap"), and click Save.
  23. In the Export Options dialog, make sure the Scaling source is set to Map: Contours-rainfall_avg.grd and then click OK.
  24. Click Map | Add | Base Layer.
  25. In the Import dialog, choose the GSI file and click Open.
  26. Click Yes if you are prompted to expand the map limits to include the new layer.
  27. In the Object Manager, uncheck the boxes next to the two contour maps to turn them off.
  28. Right click on the Base-<filename>.gsi layer in the Object Manager and click Edit Group.
  29. Delete the closed blue polylines that don’t overlap.
    image2.png
  30. Select one of the blue polylines and click Geoprocessing | Edit Boundaries | Break Polyline.
    image3.png
  31. Click where this line intersects with a red line.
  32. Repeat steps 30-31 for the rest of the blue lines, clicking anywhere the line intersects with a red line, until no blue line intersects a red line, but instead the red lines mark where one blue line ends and the next begins.
  33. Repeat steps 30-32 for each of the red lines, clicking at the same locations you clicked for the blue lines, so now no red line intersects a blue line, but instead where red and blue meet this marks the end of one red line and the start of the next.
  34. Select the portion of the polyline that is not part of the overlap (using the image from step 19 if needed) and press DELETE.
    image4.png
  35. Click Draw | Polyline and connect the ends of the two big incomplete polygon. Do the same for the red polyline in the upper right corner and press ESC to exit drawing mode.
    image5.png
  36. Click one polyline in the big area and rename it ‘1’ in the Object Manager.
  37. Click the next polyline in the clockwise direction and name it ‘2’, then click and drag it in the Object Manager so it’s just above ‘1’.
  38. Repeat step 37 for the rest of the polylines in the big area.
  39. Select all of the polylines that make up the big area and click Geoprocessing | Edit Boundaries | Connect Polylines.
  40. Repeat step 39 for the smaller area on the left and then the area in the upper right corner.
  41. Select all of the polylines and click Geoprocessing | Change Boundaries | Polyline to Polygon.
  42. With all polygons still selected, click Geoprocessing | Edit Boundaries | Combine Islands/Lakes.
  43. Right click on the Base layer in the Object Manager and click Stop Editing Group.
  44. You can turn on the axes and contour layers, change the Level method for each contour map back to Simple, and change the line and fill properties of the base layer overlap in the Property Manager, if desired.
  45. To get the area of this polygon, you can select the polygon and click to the Info tab in the Property Manager to view the perimeter and area in map units.
    image6.png

Although the process takes a little time it’s well worth the result. For practically any field of study, this process can be used to accurately identify where two variables intersect, allowing you to identify your region of interest for overlay with other informative maps in Surfer.

image7.png

1318 Hits 5 Comments Read More
07 July 2016
Real Life Applications

The United Kingdom (UK) voted on the United Kingdom European Union membership referendum, commonly referred to as the Brexit vote, on June 23, 2016. This referendum was to gauge citizen support for whether or not to remain a member of the European Union (EU), an economic and political partnership involving 28 European countries. Overall, the UK voted 51.9% to leave the EU, with 71.8% turnout. The world reacted when the news was announced on June 24. I've spent the last two weeks reading about this historic vote and what it means for the people of the UK, the EU, and the rest of the globe. It has already had some effects on international economic markets. It remains to be determined how it will affect the future, but I find this to be a fascinating time for trade, politics, economics, and international relations.

The first thing that interested me was the demographic breakdown of the vote. Various exit and other polls were done with information about how different demographics voted. I sifted through the information available at Lord Ashcroft Polls, and noticed some clear correlations between education level and age and how an individual in the poll voted. Older voters, less educated voters, and less employed voters were more likely to vote to leave the EU. I wondered if those in less-than-ideal socioeconomic situations were looking for anything different that may help provide a higher quality of life. Another issue that caught my attention was when voters made their decisions. Nearly 25% of those polled made their decision within the week before casting their votes! Just over 1/3 always knew how they would vote. The remaining ~40% made their minds up in the last 6+ months. To me, this shows some uncertainty about how to vote or perhaps uncertainty about what the effects of the vote would be on the individual and UK.

demographics4.png

Graphs showing the Brexit vote according to age, education level, employment level, and when the vote was decided. All graphs created in Grapher 12.

Another interesting aftershock of the Brexit vote is the economic repercussions. The day that the results of the referendum vote were released, Britain's pound took a nosedive. The pound has seen a few small climb attempts since the announcement, but the value has remained relatively low. I've created two different visualizations of the same data below: a 3D ribbon graph and a temporal map. I used a process similar to one used by Surfer user Richard Koehler to create the temporal map, based on months rather than years as Richard’s maps are. In the 3D ribbon plot, the large drop around June 23 is very noticeable. Other smaller dips are also noticeable, as is the long term drop that has been occurring since December 2015, when the official documents enabling the referendum was announced. In the image map, it's easy to see how changes happened day by day over the entire course of the months since December. It's easy to see the color change that took place from December to January in the image map that correlates with a dip in the 3D ribbon graph, when these key documents were filed.

Changes in the value of the British pound, as compared to the US dollar. 3D ribbon graph created in Grapher 12; temporal image map created in Surfer 13.

Changes in the value of the British pound, as compared to the US dollar. 3D ribbon graph created in Grapher 12; temporal image map created in Surfer 13.

I'm still not sure I fully understand the extents of this referendum's global effects, but I am eager to watch what happens in the world over the next few years as the UK exits the EU. Will the UK vote again to confirm the referendum? Will the UK move forward to actually exit, following Article 50 of the Lisbon Treaty? Will other nations follow the UK in leaving the EU? Will the pound recover? Will Northern Ireland leave the UK and rejoin Ireland? Will Scotland leave the UK? What worldwide economic effects will come? How will trade be affected? These are historic times we live in, and I'm excited to see what happens next! What are your thoughts on the UK's Brexit vote?

Like the graphs and maps you see in this blog? Download the free Grapher 12 and Surfer 13 demos to start creating your visualizations today!

07 June 2016
Voxler

About a month or so ago, I started working with a user trying to find an easy solution for adding 3D objects, such as buildings and storage tanks, to his Voxler models. The customer was using Voxler to create graphics for a soil contamination report and wanted to give the stakeholders for this project a good frame of reference for where the contamination plume extended under the existing structures. Adding the buildings and storage tanks to the Voxler model paints a clear picture of the subsurface contamination extent. Voxler does not currently offer 3D drawing functionality, so I took a look at some 3rd party applications to find the best solution for the user.

Searching for the Right 3D Drawing Application

Voxler started supporting 3D DXF in version 4, so finding an application that exports 3D DXF in the correct coordinate space was the main requirement. The user also wanted the solution to be cost effective, so I kept this in mind during my search.

I started with SketchUp, which was free, and quickly found that it was easy to create the desired 3D objects. The only drawback with SketchUp is that it’s difficult to export the 3D objects in the desired coordinate space. Since this is a requirement, SketchUp didn’t make the cut. I then took a look at AutoCAD, which definitely is an attractive application as it will do what I need it to do; however, the price is a lot higher than the user wanted to pay. My next option was to try TurboCAD. I downloaded the demo version to see if creating 3D objects was easy and to verify that they exported in the correct coordinate space. TurboCAD was easy enough to learn, I was able to create objects in the desired 3D coordinate space, and the price was inexpensive. My decision was made; I recommended using TurboCAD for the user’s 3D drawing needs. The rest of today’s blog post discusses creating 3D structures in urboCAD, exporting them in 3D DXF, and adding them to an existing Voxler project.

Creating 3D Objects in TurboCAD:

In order to create objects in TurboCAD that were in the correct coordinates space, I exported a ground surface elevation grid from Voxler in 3D DXF format. I opened the DXF in TurboCAD by using the File | Open command, which gave me a nice palette to start drawing objects on. I also positioned the DXF so that I had a top-down view of it by clicking View | 3D Views | Top. Now I am ready to create some 3D objects such as some tanks and a building.

To create the building, I am going to use these steps:

  1. Zoom into the project using the mouse wheel to where the building is going to be located.
  2. Click Draw | 3D Object | 3D Primitives | Box and draw a box where the building footprint should be located.
  3. Rotate the view a little bit using the mouse so I can see a profile of the surface and box.
  4. Click Edit | Select to get the selection tool.
  5. Click on the box, when prompted click Box.
  6. Click on the top of the box and drag it up until it looks to be relatively the correct height.

TurboCAD - Box primitiveAdding a box primitive to represent a building in TurboCAD.

Now that the basic primitive has been created for the building, I turned off the 3D surface so I could see the box better which allowed me to add a roof. There are a few ways to do this in TurboCAD, but since I’m new to TurboCAD I decided to add 2 wedges to create the roof:

  1. Click Draw | 3D Object | 3D Primitives | Wedge.
  2. With the mouse click on one corner of the box where the wedge should start and then click an opposite corner to make the base of the wedge.
  3. Drag the mouse up so that the wedge takes on the necessary height for the roof.
  4. Repeat these steps for the next wedge and to complete the roof.

TurboCAD - Wedge primitivesRepresenting a roof in TurboCAD with Wedge primitives.

Now that the building looks good, it’s time to add a few subsurface storage tanks. This can be done by using the following steps:

  1. Turn the display of the 3D surface back on by clicking the eye icon under Layer.
  2. Rotate the display so that the underneath portion of the 3D surface is exposed.
  3. Start drawing the cylinder by clicking Draw | 3D Object | 3D Primitives | Cylinder.
  4. Rotate the view a little bit and extend the cylinder to an appropriate length.
  5. Click Edit | Select, and select the cylinder.
  6. Rotate the cylinder so that it’s in the correct orientation to the 3D surface and building.
  7. If necessary, move the cylinder down by adjusting the Pos Z value at the bottom of the TurboCAD interface.TurboCAD - updating Z positionAdjusting the Z position for a storage tank by changing the Pos Z parameter In TurboCAD.

Now that the first storage tank has been created, I am going to copy it and paste another tank into the project. To do so I used the following steps:

  1. Click Edit | Select, and select the cylinder.
  2. Right-click on the cylinder, and choose the Rubber Stamp command.
  3. Position the tank in the appropriate location and click the mouse to insert the new cylinder.
  4. Check the elevation of the tank to make sure it’s good by checking the Pos Z value; adjust as needed. Both of the tanks should be at the same Pos Z.

The building and subsurface storage tanks have been added to the project; now they need to be rendered as solids in draft mode before they are exported for use in Voxler. To do so, right-click on the model in TurboCAD and choose the Draft Rendering option. The buildings also look nice if some additional color is added to them. Please note this is important to do in TurboCAD prior to export as Voxler will not allow you to change the colors of the DXF after it has been imported. Select one of the objects like the cylinder, then right-click and choose Properties. In the Properties dialog, select Pen and then change the drop-down menu under Color to change the color of the selected object. I changed the tanks to grey and the building to red and brown. TurboCAD - Building and tanksThe building and storage tanks rendered as solids with colors in TurboCAD.

Exporting the 3D Objects

Finally, I can export the building and tanks so I can use them in Voxler. Before I do so, I am going to delete the 3D surface so it is not included in the export. To do so, click Edit | Select and select the 3D surface and press the DELETE key. To export, click File | Save As. In the Save As dialog, name the file and make sure that the Save as type is set to DXF – Drawing eXchange Format and click Save. The DXF can be imported into Voxler and will locate in the correct coordinate space as shown in the image below. Voxler - 3D well model with 3D CAD structuresThe final project in Voxler that contains the 3D buildings and storage tanks created in TurboCAD.

TurboCAD ended up being a very easy-to-use tool and satisfied the user’s need for adding 3D objects, such as storage tanks and buildings, to Voxler projects. This low-cost solution gives Voxler users the ability to add any 3D object that can be drawn inside of TurboCAD to Voxler, increasing the effectiveness of any Voxler model to all involved stakeholders. New copies of Voxler and upgrades from previous versions are available for purchase from our shopping page. Contact voxlersupport@goldensoftware.com with any suggestions or questions you may have!

 

1479 Hits 4 Comments Read More

Subscribe To Our Blog

Most Popular

This week many users experienced a GsDraw error (1): GenericError. This error began occurring follow...
This week's new feature series is a tutorial on how to use the new coordinate system dialogs in MapV...
Over the years, one of the most common questions asked is “How can I get my contour map out of Surfe...

Exceeding expectations

Go to top