Wednesday, September 16, 2026

Axonometric Drawing - SSR (Scale, Shear/Skew, Rotate) technique

 The SSR (Scale, Shear, Rotate) technique is a highly efficient mathematical workflow used in vector graphic programs like Adobe Illustrator and Inkscape to precisely transform flat 2D orthographic drawings into a 3D isometric axonometric projection. Instead of tracing flat blueprints onto an isometric grid by hand, the SSR method automates the deformation using exact numerical inputs.

The technique relies on mathematically shifting the 2D plane so that a standard square conforms perfectly to the true 30-degree / 120-degree orientation of an isometric drawing.


The Three Pillars of SSR

To project a flat 2D face onto one of the three visible planes of a 3D cube (Top, Left, or Right), you apply three sequential operations to your vector object:

  1.  Scale: This accounts for the foreshortening effect of looking at an object from an isometric angle. You scale the vertical height of the object down to 86.602% while leaving the width at 100%.
  2.  Shear (or Skew): This slants the vertical edges of the object to mimic a parallel projection angle, tilting them by 30° or -30°.
  3.  Rotate: This turns the entire asset into the final orientation required for that specific plane, shifting it by 30° or -30°.

The Standard Transformation Values

Depending on which side of the axonometric drawing you are generating, apply these specific transformations in order:

Isometric Plane

1. Scale (Vertical)

2. Shear (Skew)

3. Rotate

Top Plane 🪵

86.602%

30°

-30°

Left Plane 🧱

86.602%

-30°

-30°

Right Plane 🧱

86.602%

30°

30°

(Note: Some software packages require a 30° Shear and a 30° Rotation for the Left Plane, or flipped symbols depending on how the software measures clockwise vs. counter-clockwise angles).

The 86.602% vertical scale factor in the SSR technique is not an arbitrary number—it is the exact trigonometric value of 

It acts as a mathematical pre-compensation filter. When you skew (shear) an object in a vector program by 30°, the software stretches the geometry. Scaling the vertical axis down to 86.602% beforehand ensures that after it stretches, the final lines return to exactly 100% of their original true length, maintaining a perfect 1:1:1 aspect ratio across all 3D axes.

Here is the exact geometric breakdown of why this happens.

1. The Trigonometry of the Shear Step

When you apply a 30° Shear to a flat square, the horizontal lines of your drawing tilt upward by 30°.

In vector graphics, a shear shifts points along one axis proportional to their distance from the other axis. This distorts the right angles of your flat square into an isometric diamond (rhombus). During this distortion:

  • The width (horizontal boundary) of the bounding box remains fixed.
  • The horizontal lines tilt up at a 30° angle, turning into the hypotenuse of a right-angled triangle.

According to right-triangle trigonometry:

Rearranging this formula to find the new length:


This means that shearing a flat object by 30° automatically stretches its line segments by roughly 115.47%.

2. Eliminating the Distortion (Why we Scale First)

If you don't scale the graphic before shearing it, your final 3D object will look elongated and structurally warped because the lines on the isometric plane are longer than they should be.

To counteract this 115.47% expansion, you must shrink the asset by the exact reciprocal amount before the shear takes place:

By scaling the vertical size to 86.602%, you intentionally compress the object. When the 30° shear step elongates the lines by 115.47%, the two operations cancel each other out perfectly:


3. Isometric Drawing vs. Isometric Projection

There is a subtle but important distinction in technical drawing that explains why this scale factor is so highly regarded:

  • True Isometric Projection: When an actual 3D cube is rotated in physical space (45° horizontally, then 35.264° downward toward the camera), all axes shrink uniformly to 81.65% of their real-world size due to perspective foreshortening.
  • Isometric Drawing (The SSR Approach): Graphic designers prefer a 1:1 scale so that a 100px line on a flat blueprint remains exactly 100px long on the 3D isometric axis. The SSR technique achieves this "true measurement" standard. By scaling vertically to 86.602% before shearing, the final 3D drawing retains an un-foreshortened, easily measurable 100% scale on all visible faces.


To calculate alternative scale values for other axonometric projections, you must determine how much the shear (skew) angle stretches the artwork and use trigonometry to cancel out that distortion.

The universal formula to find the required vertical scale factor for any parallel projection using the Shear-Rotate method is:

(Where Ï´ is the shear angle you intend to use).


Thank you for reading.

Monday, September 7, 2026

Creating REM from DEM in QGIS

 REMs are best produced from LiDAR data, however my region of interest has no publicly available LiDAR dataset. So, I will use high-resolution DEM from "Copernicus Global Digital Elevation Models" distributed by OpenTopography because it offers superior horizontal and vertical accuracy compared to SRTM DEM data. To cite this data, use:-

European Space Agency (2024). Copernicus Global Digital Elevation Model. Distributed by OpenTopography. https://doi.org/10.5069/G9028PQB. Accessed 2026-09-05


This study area is the Uke river (approximately Latitude 8°35'N to 9°05'N and Longitude 7°35'E to 7°55'E) that streches from Karu LGA into Nasarawa LGA all within Nasarawa state. The Uke river is a dynamic, seasonal river system that feeds into the larger Uke-Antau-Mada drainage basin, just east of Abuja.



What is Relative Elevation Model

A Relative Elevation Model (REM), also called a detrended digital elevation model or height-above-river raster, is a specialized 3D map that shows land height relative to a nearby river channel rather than above sea level.
Traditional Digital Elevation Models show absolute height above sea level. Because rivers naturally slope downward from their source to their mouth, this overall slope can hide small, local changes in the landscape.
An REM "flattens" the river's downward slope by setting the riverbed elevation to zero everywhere.
Software takes a standard elevation grid, estimates the water level along the river's center line, and subtracts that predicted river height from the original elevation data.
A value of zero means the ground is level with the nearest river channel, while positive numbers show how high a specific spot sits above that river.






Steps for Creating a Relative Elevation Model

Step A: Reproject and Clip

  • Open your downloaded GeoTIFF in QGIS.
  • Reproject the layer from WGS 84 (Geographic) to a projected coordinate system for accurate distance measurements. For Nasarawa State, use WGS 84 / UTM Zone 32N (EPSG:32632).

Step B: Extract River Vector and Elevation

  1. Manually digitize the centerline of the Uke River as a line vector layer, or extract it automatically using the SAGA Channel Network tool.
  2. Use the Extract Vertices tool to convert the Uke River line into a series of dense point features along the channel.
  3. Open the Sample Raster Values tool. Use your reprojected DEM to add the exact elevation (Z-value) to every point along the river channel.


Step C: Create the Arbitrary River Plane

  1. Open the Inverse Distance Weighting (IDW) Interpolation tool under the QGIS Processing Toolbox.
  2. Set the input layer as your sampled river points and select the sampled elevation attribute as your vector interpolation field.
  3. Set the extent to match your clipped study area and run the tool. This creates a smooth, continuous "water level baseline surface raster" that mimics the downhill slope of the river.

Step D: Calculate the Relative Elevation Model

  1. Open the Raster Calculator.
  2. Enter the formula: [Projected_DEM] - [IDW_Interpolation_Surface]
  3. Run the calculation.

The resulting layer is your REM. All values of 0 will represent the exact channel bed of the Uke River, while higher values represent the exact height of the surrounding terrain relative to the closest point of the riverbed, perfectly highlighting paleochannels, floodplains, and terrace heights.


Thank you

Wednesday, September 2, 2026

How to Download RADAR Image using Google Earth Engine

 RADAR stands for 'RAdio Detection And Ranging'. It is a system that uses radio waves to determine the distance (ranging), direction (azimuth and elevation angles), and radial velocity of objects relative to the site. Radar remote sensing is a type of active remote Sensing which uses electromagnetic energy backscattered from ground targets to extract physical and dielectric behavior.

A free common source of RADAR image is the Sentinel-1 satellite that uses the C-band SAR (Synthetic Aperture Radar) sensor to acquire Radar imaging.

So, in this post I will guide to on how to download Sentinel-1 image (which is a Radar image) using JavaScript code in Google Earth Engine. Lets get our hands dirty!

To download a RADAR (SAR) image using Google Earth Engine (GEE), you must filter a SAR collection—typically Sentinel-1 Ground Range Detected (GRD)—create a single-image composite, and export it directly to your Google Drive.

Here is the complete workflow and JavaScript code to achieve this.

Step 1: Write the GEE Script

Open the Google Earth Engine Code Editor and paste the following script into the central console:

// 1. Define your Area of Interest (AOI)
// You can also draw a polygon manually using the map geometry tools
var aoi = ee.Geometry.Rectangle([8.05, 8.25, 8.55, 7.50]); // Example: Okokolo, Benue state, Nigeria
Map.centerObject(aoi, 12);

// 2. Load the Sentinel-1 RADAR (SAR) Image Collection
var SAR_collection = ee.ImageCollection('COPERNICUS/S1_GRD')
  .filterBounds(aoi)
  .filterDate('2026-01-01', '2026-06-30') // Filter by date
  // Filter for Interferometric Wide (IW) swath mode
  .filter(ee.Filter.eq('instrumentMode', 'IW')) 
  // Filter for dual-polarization (VV and VH)
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VH'));

// 3. Create a single median composite image and clip it to your AOI
var raw_image = SAR_collection.median().clip(aoi);

// 4. Select the desired RADAR bands (VV, VH, or an added ratio)
var download_image = raw_image.select(['VV', 'VH']);

// 5. Add the processed image to the map view for a visual check
Map.addLayer(download_image, {min: -25, max: 0}, 'Filtered SAR Image');

// 6. Set up the export command to Google Drive
Export.image.toDrive({
  image: download_image,
  description: 'Sentinel1_RADAR_Download',
  folder: 'GEE_Downloads', // Subfolder name in your Google Drive
  scale: 10,               // Spatial resolution of Sentinel-1 is 10 meters
  region: aoi,             // Target boundary
  fileFormat: 'GeoTIFF',
  maxPixels: 1e13
});


Step 2: Execute the Script

  1. Click the Run button at the top of the Code Editor.
  2. Look at the right-hand panel and click on the Tasks tab. You will see your export task (Sentinel1_RADAR_Download) highlighted in orange/yellow.

Step 3: Run the Task & Download From Google Drive
  1. Click the Run button next to the task name in the Tasks tab.
  2. A pop-up configuration window will appear. Confirm the parameters (leave them at defaults) and click Run again.
  3. The spinning gear icon indicates the processing stage. This can take anywhere from a few minutes to an hour depending on the size of your AOI.
  4. Once the icon turns into a blue checkmark, open your Google Drive.
  5. Navigate to the GEE_Downloads folder and download the GeoTIFF file directly to your computer. You can now import and analyze the raw RADAR image inside external desktop GIS software like QGIS or ArcGIS.




RADAR (SAR) imagery is uniquely powerful because it uses microwave signals. Unlike optical satellites (like Landsat or Sentinel-2), SAR penetrates clouds, smoke, and darkness, allowing it to capture data 24/7 in any weather conditions. SAR sensors do not capture colors; instead, they measure surface roughness, structure, moisture content, and dielectric properties.



Happy mapping!