HCMGIS Featured Picture

Working with HCMGIS QGIS Plugin

In a recent post we had a walkthrough on the QuickMapService plugin and in this post we shall look into a multifunctional plugin called HCMGIS. that can come in handy with various desktop GIS workarounds as we shall see in the following sections below.  

About HCMGIS Plugin

HCMGIS is a QGIS Desktop plugin that has been developed by Center for Applied GIS of Ho Chi Minh City and the code repository for the plugin can be accessed through this GitHub link and comprises of the following functionalities:

  1. Basemaps loader.
  2. Batch Converter for some GIS data formats.
  3. Downloader for Covid-19 Data.
  4. Downloader for datasets from various platforms.
  5. Downloader for Vietnam datasets.
  6. Geometry Processing tool.
  7. Calculate Field tool.

In this walkthrough we shall only look at the first four functionalities.

Installing HCMGIS Plugin

To install HCMGIS QGIS plugin, one can either download a zipped file from the HCMGIS Plugin repository or download directly from the QGIS Desktop Plugins menu. Below is a screenshot of the HCMGIS plugins repository for the HCMGIS plugin.

HCMGIS QGIS Plugin Repository home page

This walkthrough assumes that QGIS Desktop is already installed in the computer. If not, refer to the post on Installing QGIS Desktop in Windows 10 . This walkthrough has been done in Windows 10. After opening QGIS Desktop and installing the HCMGIS plugin, the plugin menu under installed section should appear as shown below.

Installed HCMGIS QGIS Plugin in QGIS Desktop

The menu should also be visible in the QGIS menu as shown below.

HCMGIS QGIS Menu Shortcut

When clicked the shortcuts under it appear as shown below. The items functions are as highlighted in the previous section.


Click on the BaseMap shortcut and the dropdown appears showing a list of all the basemaps supported by the plugin. Note that you require to be having an internet connection to load the basemaps as they are being loaded from the web. 

HCMGIS supported basemap services

Under BaseMap shortcut, click on the GoogleMaps option and a map is loaded in the QGIS Map Canvas and on the Layers Panel as a layer if active as shown below and is zoomed into Kenya’s bounds. The service is developed and maintained by Google.

Google BaseMap loaded from the HCMGIS plugin

When done with the above base map, close and click on the HCMGIS plugin once again and click on the  Bing Virtual Earth option and the base map loads showing a terrain kind of map that looks like natural landscape with green vegetation. The free service can be used to view features on earth’s surface.Bing Virtual Earth BaseMap as loaded from the HCMGIS plugin in QGIS Desktop

The next base map is the CartoLight base map which is maintained by Carto and can come in handy with custom data overlays or in designing a map in QGIS Desktop. There are other children of carto base maps that include Carto Dark and Carto Eco. Below is the Carto Light base map which is preferred for point data. The development repository can be accessed here.

CartoLight BaseMap as loaded from the HCMGIS QGIS Desktop

The final base map in this walkthrough includes the WikiMedia base map which appears as shown below. There are a variety of basemaps that can be used under the HCMGIS plugin and just a few have been covered here.

HCMGIS WikiMedia BaseMap as loaded from HCMGIS in QGIS Desktop

Batch Converter

Navigate to the GADM data repository page in your preferred web browser and download your preferred data. I this walkthrough we shall make use of Kenya ESRI shapefile for next steps.

GADM Geospatial data download page

After downloading the data, in the QGIS Desktop menu identify and click HCMGIS menu and if it is not visible revisit previous steps of opening the QGIS Plugin menu and activating or even re-installing the plugin otherwise, the clicking should show a dropdown that appears as shown below.

HCMGIS Batch Converter menu in QGIS Desktop

Click on the Vector Format Converter shortcut and this open a widget that appears as shown below and contains several controls; dropdowns, buttons and text fields. 

HCMGIS batch converter plugin widget in QGIS Desktop

Under the input format label is a drop down when clicked, shows all the supported input formats. In this case we will be working with ESRI shapefile denoted by SHP option therefore, select that option.

Supported input formats in the HCMGIS plugin

Similarly, under the output format label, select CSV as the option indicating that we shall be outputting our data in Comma Separated Value (CSV) file.

Supported output formats in the HCMGIS plugin

After selecting input and output formats, click on the Browse… button which will open an input folder window. Navigate to the folder containing the previously downloaded and extracted data and click OK button to close the window.

Input folder containing shapefiles to be converted by HCMGIS plugin

If pointed to the correct folder, the shapefiles existing in that folder will be shown as a list as shown below. The folder in this case contains four shapefiles.

HCMGIS widget containing the shapefiles to be converted

After ensuring all above mentioned options are correct, click Apply button to proceed with the conversion.

The apply button to be clicked to convert the shapefiles in HCMGIS plugin

After the conversion is complete, the progress bar will be at 100% and a label indicating number of files converted will be shown as below. If any errors occurred during conversion they will be displayed in the error log area below the progress bar. 

HCMGIS conversion progress bar showing the percentage progress of shapefile conversion..

The whole window appears as shown below after conversion.

Navigate to the output location that is similar to the input folder and additional files with a .csv extension will appear as shown below. They may be arranged by name or other field but the file type will be Comma Separated Values.

CSV files converted from shapefiles by the HCMGIS plugin in QGIS Desktop

On loading the layers in QGIS Desktop and opening the attribute table, the data looks as shown below.

Attribute table for one of the CSV file coverted from shapefiles using HCMGIS plugin

CSV to Point Converter

In this next step, we will select the CSV to Point shortcut as shown below. 

CSV to point conversion menu in HCMGIS plugin in QGIS Desktop

This tool geocodes CSV data and converts them to shapefiles which is quite the opposite of what we did in the previous step only that in this step the input and output formats are fixed.

CSV to Point widget

Click on Browse… button to browse to the directory containing input CSV files. The input files must contain coordinates fields in Latitude and Longitude otherwise the conversion will not take place. To mitigate this from happening, open the CSV data in a text editor or in QGIS Desktop to view the attribute data and confirm that it has coordinates.

The data used in this procedure can de downloaded from ArcGIS Hub data repository and is as listed below:

  1. Kenya Schools Kenya Open Data Initiative (KODI) – Download Link
  2. Kenya Towns – Download Link

Once the data has been downloaded navigate in the browse window shown below to the folder containing the files and click Select Folder button to close.

Input folder containing CSV files to be converted to point shapefiles

Now that the input folder has been selected, the next step entails identifying the latitude and longitude fields. At times the plugin automatically detects the fields and lists them as shown in the screenshot below but at times the user may be forced to click on the drop downs below the Latitude Field and Longitude Field consecutively to identify the actual field name containing the coordinates.

Batch CSV converter widget with CSV loaded from directory

Once selected every control as required, click Apply button to begin the conversion process. Once the process is complete the progress bar will be at 100%  and the number of converted files will be shown in bold above the progress bar.

CSV files conversion completed in batch CSV converter tool in HCMGIS QGIS plugin

The previously existing files in CSV can be identified as shown below.

Initial CSV files before conversion

The newly created ESRI shapefiles can be identified as shown below.

Converted files in shapefile from CSV

To add the layers, click on the Add Vector Layer… shortcut as shown below.

Adding Vector Layer in QGIS Desktop

The Data Source Manager window is displayed as shown below with the Vector option highlighted. Click on the button labelled to browse the file system.

QGIS Desktop's data source manager for adding data in QGIS

A file browser window similar to previous file browser windows is displayed as shown below. Point it to the files of interest and note that they end in .shp extension indicating that they are shapefiles and then click Open button.

File selection of files to import into QGIS Desktop

The shapefiles are loaded as vector layers and displayed in the QGIS map canvas as shown below.

Layer loaded in QGIS after conversion from CSV

In the QGIS Desktop Browser panel, identiy XYZ Tiles and double click on it to collapse it and among the options identify OpenStreetMap that comes with QGIS by default.

Loading OSM basemap from QGIS XYZ Tiles menu

This loads an Open Street Map base map however it appears on top of the vector layer therefore hiding the points and it is necessary to correct that.

OSM basemap layer loaded

In the layers panel shown below, drag the OpenStreetMap layer shown below by clicking and holding the mouse button downwards below the other two layers and it will appear as shown below.

Arranged layers in layers panel

And also for the map, the points will be seen to appear on top of the basemap.

Map with basemap and all layers loaded

In the above steps the conversion of datasets has been summarized and this shows that the HCMGIS plugin can come in handy and remove the repetitive process of converting multiple files by loading them into the QGIS Desktop and exporting them manually.

The walkthrough of the rich functions of the HCMGIS plugin  will proceed in the second part that is a continuation of this post and to proceed, click Working with HCMGIS QGIS Plugin Part 2.

Leave a Comment

Your email address will not be published. Required fields are marked *