MalaGIS

Sharing GIS Technologies, Resources and News.

Achieving Precise 0-1 Raster Rescaling in QGIS and GDAL: Addressing Floating Point Precision and Statistical Accuracy

When conducting multi-factor overlay analysis or multi-index comprehensive evaluation, a common preliminary step is to standardize a collection of raster layers from various sources to a uniform 0 to 1 range. This normalization facilitates subsequent weighted overlay procedures. Theoretically, a simple linear rescaling based on the minimum and maximum values of each raster should yield results exactly between 0 and 1.

However, many users encounter a perplexing issue when using tools like QGIS's Raster Rescale tool, the Raster Calculator, or GDAL's gdal_translate command. The resulting raster's minimum and maximum values are almost, but not quite, 0 and 1. For instance, you might expect a range of 0 to 1, but the actual statistics show values like 0.006 to 0.88, or 0 to 0.99999999999999. This discrepancy can be unsettling. Drawing insights from a relevant discussion on GIS Stack Exchange, this article explores the underlying reasons for this issue and presents a more reliable workflow.

Read More >>

Point Tiler: A High-Performance Tool for Converting Point Clouds to 3D Tiles v1.1

In GIS scenarios such as digital twins, urban modeling, and terrain mapping, point cloud data acquired by LiDAR is increasingly becoming a core asset. However, point cloud data is characterized by its large volume and diverse formats. To efficiently publish massive LAS and LAZ files to the web for loading by 3D engines like Cesium, a complex process of tiling, compression, and coordinate system transformation is often required. Although open-source point cloud tiling tools exist on the market, most still rely on the pnts format of 3D Tiles 1.0 and offer limited support for the LAZ compression format and very large datasets. We recently discovered an open-source tool: Point Tiler, which supports converting point cloud data into the v1.1 version of 3D Tiles.

Read More >>

Cesium Framework February Updates: Core Performance Boosts and Feature Enhancements

As a "benchmark framework" in the GIS field for 3D globe and map development, Cesium's monthly updates consistently deliver practical feature optimizations and technical breakthroughs for developers. In February, the three core tools—CesiumJS, Cesium for Unreal, and Cesium for Unity—received synchronized updates, and the Cesium ion cloud processing engine underwent comprehensive enhancements.

CesiumJS v1.138

As the benchmark for 3D WebGIS, the v1.138 release of CesiumJS this month focused on memory optimization and compatibility fixes. The development team refactored Megatexture, switching to WebGL2's Texture3D for handling volumetric rendering. This significantly reduces runtime memory consumption during voxel rendering. For large-scale 3D geological data, meteorological cloud imagery, and similar scenarios, this translates to smoother loading and interaction. The update also resolved several routine bugs, including image distortion on Intel Arc GPUs and abnormal label sizing for certain fonts and special characters.

Read More >>

Georeferencing in the AI Era: From Manual Struggles to One-Click Solutions

As a GIS professional, who hasn't been driven mad by the manual georeferencing of historical imagery? When rushing to meet project deadlines, the author often had to hunch over the screen, scrutinizing scanned maps for control points — they had to be "timeless" features like road intersections, bridges, or landmark buildings. If the old map was blurry or the landmark had been demolished, it meant digging through archives all over again. Then, switching to ArcGIS, we would painstakingly align points one by one against a reference basemap, manually inputting latitude and longitude coordinates. Each point had to be checked three times, fearing a single entry error could throw the entire map out of alignment. What's even more torturous is that too few control points compromise accuracy, while too many can introduce distortion. And when batch-processing aerial photos? That meant burning the midnight oil in front of the computer, repeating the tedious operations until your fingers trembled.

The scene described by the author is sure to send shivers down the spines of many, a true nightmare. However, in 2026, AI is finally starting to save (or take over the jobs of) GIS drafters. In a previous article, "QGIS Map Georeferencing Tutorial (with AI)", the author introduced an AI georeferencing plugin for QGIS, but its performance was somewhat lacking. Recently, @yaoyao, author of Kongtian Perception, recommended a tool to the author: georeferencer.ai. Let's take a look at it today.

Read More >>

A GIS Practitioner's Guide: The Quest for POI Data on "Free Noodle Refill" Restaurants

A few days ago, news about the "noodle refill" incident in Jiajiang County, Leshan, Sichuan Province, became a hot search topic, and someone also shared this news in the "Malá Là GIS" group chat. While debates about cultural differences and other issues were still raging on Weibo, a breath of fresh air appeared in our GIS group when someone asked: How can we obtain POI data for restaurants that offer "free noodle refills"? (See? Our GIS group truly has a professional spirit.)

As you know, I usually don't slack off, but I couldn't resist such an interesting GIS question. I consulted with various experts and did some hands-on experimenting. Although the final result wasn't entirely satisfactory, I'll still summarize the process for everyone today.

Traditional POI Databases

I've shared many POI datasets before, the most famous being the POI dataset from OSM. However, I found that the data fields provided by such sources are currently too simplistic, as shown below:

Read More >>

A Practical Guide to Patching Node Modules in GIS Frontend Development

As a GIS frontend developer, I work extensively with various large-scale graphics libraries: OpenLayers, Leaflet, Mapbox GL JS, Cesium, Turf.js... These libraries often contain tens of thousands of lines of code. I wonder if you've encountered situations during development where you needed to modify the source code within node_modules. For example, in my old projects using OpenLayers 6.x, some third-party plugins were no longer updated. In such cases, upgrading to newer plugin versions would require upgrading the OpenLayers version, which is often an impossible workload for a project delivered years ago.

Read More >>

MapLibre Tile (MLT): A Next-Generation Vector Tile Standard

Just a few days ago, the MapLibre community officially released the MapLibre Tile (MLT) format. This could very well be the most fundamental and hardcore technological innovation in the WebGIS domain since Mapbox defined the MVT standard a decade ago. The official announcement claims that MLT can achieve compression rates up to 6 times better than MVT and decoding speeds 3 times faster! So what exactly is MLT? Why is it positioned to challenge MVT? Let's delve into the details today.

Read More >>

A Fresh Contender in IP Geolocation for GIS: public-ip-address

In previous articles such as "Revisiting Locating User Positions Using IP Addresses (ip2region)" and "Summary of Methods for Locating User Positions Using IP Addresses", we introduced many methods and tools for IP geolocation. These include GeoIP, ipip, ip2region, as well as numerous third-party service providers like Amap and Baidu. Among them, some are online, some are offline, some are paid, and some are free. A few days ago, the editor came across another interesting open-source IP geolocation library: public-ip-address.

Read More >>

Offline Map Tile Downloader

During GIS project delivery, situations with weak or no network connectivity are frequently encountered. Typically, we need to manually download map tiles from various providers. Currently, there are numerous map downloaders available on the market, both free and paid. Upon closer thought, this process isn't particularly complex; it essentially breaks down into three steps: defining the area of interest, downloading all tiles within that area, and exporting. Therefore, while working on a project, the author searched for a simple, small-scale downloader and ultimately found one on GitHub: OfflineMapDownloader.

Project Introduction

Original Project Repository:

https://github.com/0015/OfflineMapDownloader

After testing, the author identified several significant issues, primarily in the following three areas:

  1. It only supports OpenStreetMap and ArcGIS Online.
  2. It does not support downloading tiles for regions in China.
  3. The downloaded .mbtiles files cannot be opened in QGIS.

The issue with China regions was particularly critical, rendering the tool unusable for the author. Consequently, the author made some simple fixes and created a new version. The author's version repository:

https://github.com/sailor103/OfflineMapDownloader

This version primarily addresses the three aforementioned problems. It can now correctly export maps for Chinese regions and supports opening the files in QGIS, as shown below:

Read More >>

Wish3D: A Lightweight Open-Source Engine for 3D Reality Mesh Publishing

In today's era of booming real-world 3D technology, OSGB format models are widely used. However, "how to publish efficiently and browse smoothly" has always been a pain point for developers: slow loading, large file sizes, laggy interactions on mobile devices... Even star engines like Cesium struggle with issues such as "bloated architecture and subpar mobile experience." In mid-January this year, Zhongke Tuxin open-sourced a lightweight real-world 3D model publishing engine — Wish3D. It claims to be free and open-source, accessible for both individuals and enterprises without barriers. The editor saw it in the MalagiGIS group yesterday and immediately downloaded it for a test drive. Overall, it's indeed fast, but there are several minor issues. Let's share the experience today.

Read More >>

Copyright © 2020-2026 MalaGIS Drive by Typecho & Lingonberry Sitemap

Back to top