Skip to content
domlysz edited this page Mar 15, 2020 · 8 revisions

Table of Contents

Resolve the No ImageIO error
DEM import freeze Blender
Very small resulting mesh
Wrong basemap measurements

How to resolve the No ImageIO error ?

When the addon is enabled for the first time, it try to download an extra library named freeimage and required by the ImageIO module. If the download fails then the basemap function will be not be usable and will raise the 'No ImageIO' error. There are many reasons that can cause the download failure like a broken down connection due to the use of a proxy or a firewall, or if there is no internet.

In this case, it's possible to install manually the library needed by ImageIO. The required files are available here : https://github.com/imageio/imageio-binaries/tree/master/freeimage

Just download the right version for your system and paste it into : your_addons_folder/BlenderGIS/core/lib/imageio/resources/freeimage/

(the freeimage subfolder must be created if needed)

I'm trying to import a DEM file but Blender become completely freezing, what happened ?

DEM dataset can be extremely huge covering thousand of kilometers with a very high resolution, while on the other hand Blender is not designed to handle this kind of large dataset. Furthermore, geographic data can be in various formats, projections or extents, and most of the time to get a smooth import in blender you'll need to perform some preprocessing tasks.

Consider exploring you geographic data and understand its properties as an absolutely essential task before trying any import. Especially for raster Digital Elevation Models there are some important properties to know about:

  • number of pixels : it will give you the number of vertices in Blender. Use common sense here : is it a reasonable number or billions ?
  • geographic extent covered in comparison to your desired working extent : most of the time you'll have only need a small part of your DEM file
  • projection system and unit : projection have lot of consequences and really need your consideration. You need to know what is the projection of your file and if this projection is suitable for your work or not
  • size of one pixel in projection unit : is it too much or too low in comparison to your expected level of detail ?
  • data type (int16, uint16, float32 ...) : importing unsigned 16 bits as DEM texture involves an extra conversion step which can be very slow

You can use QGIS, to explore you data beforehand. QGIS is a powerful open source desktop GIS software, this is an essential tool for working with BlenderGIS, it will not only help you to understand you data but it's also a swiss knife able to perform any king of processing tasks you'll need like:

  • reprojection in a coordinate system in meters
  • cliping to the desired working extent
  • resampling to a lower pixel resolution
  • nodata values filling

Some of these tasks can be handled directly in BlenderGIS, but the most straightforward strategy is generally to prepare your data beforehand with the help of QGIS.

Why after the import of my data the resulting mesh is extremely small on x and y axis but seems correct on Z axis ?

Geodata are often distributed in a geographic coordinate system rather in a metric one. It means that x and y represents the angular coordinates longitude and latitude of the point location on the sphere earth. Angular coordinates are in degrees not in meters, in other words x and y axis does not share the same unit than z axis. The earth perimeter is about 40 000 km so one degree at equator represents 40000km / 360° = 111km and one meter equal about 0.00001°, that's why x and y values are so small comparing to z values. Furthermore, in Blender coordinates have only 7 significant digits of precision, so it's impossible to reach a submetric precision using data coordinates in longitude/latitude. Blender will not be able to strongly differentiate points too close each others which can cause crashes due to a corrupted mesh geometry.

Ok then, what can I do ?

You must transform your data in a projection system in meters, and so, you must determine what is the best projection for your location. Each country has his own set of legal projection system. The reprojection task can be performed with QGIS in preference but BlenderGIS, in a lesser extent, can also handle heterogeneous projection system. To deal with different projection system in BlenderGIS you must correctly set up the projection of the scene (which represents the destination system) and the projection of your input dataset.

Why my measurements on basemaps reference seems wrong ?

Again this is related to the projection system. Most of basemaps layers are served into Web Mercator projection. The Mercator projection can represents the whole sphere earth but it makes this possible at the cost of significant distortions : the size of objects increases as the latitude increases from the Equator to the poles. This linear scale factor is applied equally in all directions making the projection conformal (angles are preserved).

https://en.wikipedia.org/wiki/Mercator_projection#Distortion

Multiplying the measured distance by cos(lat) gives an approximation of the true distance. For example at latitude 45°, the measurement of 4000 meters represents in fact 2828 meters. That why for precision modelling the Web Mercator projection is not suitable.

Clone this wiki locally