Tuesday, January 27, 2026

Bluepark upload custom HTML/CSS/JS webpage

 Bluepark is a powerful UK based ecommerce platform. Bluepark is a powerful ecommerce software, hosted on fast and reliable UK servers, provides scalable shopping cart solutions for small to large businesses. I helps you create your own online shop and sell online with the UK's leading all-in-one ecommerce platform, backed by our 5-star-rated Support Team.

In Bluepark, you do not "upload" a standalone HTML file in the traditional sense of FTP; instead, you add or edit HTML code through the admin panel to customize existing themes or content blocks.

If your HTML refers to external assets like custom scripts or specialized images:

  • Use the File Manager by navigating to Admin > Files.
  • Upload your assets here to host them on Bluepark's servers.
  • Note that for interactive elements, Bluepark variables and classes are often required to ensure functionality within their CMS environment. 


That is it!

Wednesday, January 14, 2026

How to Trust a JupyterLab Notebook

 If you have ever encountered the "JupyterLab is not trusted" message, that is a security warning feature designed to prevent malicious code like JavaScript or HTML in a notebook cell from automatically executing.



However, in some cases it is not a malicious code but JupyterLab erroniously classified it as one. In this post, I will guide you on how to fix it. That is how to trust the code in the JupyterLab Notebook.

You can mark a notebook as trusted using the GUI (the browser user interface) or the command line. I will focus on using the user interface for this guide.

Using the user interface (JupyterLab) to Trust a Notebook

Step 1: Open the notebook in JupyterLab

Step 2: Open the Command Palette by going to View >> Activate Command Palette



Step 3: Type 'trust' and select the "Trust Notebook" command as seen below.


That is it. Now re-start the JupyterLab server and re-run all the code cells.

Thank you for following.

Wednesday, December 17, 2025

Delete a table or layer from GeoPackage within QGIS

 To delete a table (layer) from a GeoPackage within QGIS, you can use either the Browser panel or the DB Manager.


Method 1: Using the Browser Panel

  1. This is the simplest and most direct way to delete a single table.
  2. Open the Browser panel: If it's not already visible, go to the top menu and select View > Panels > Browser Panel.
  3. Navigate to the GeoPackage: In the Browser panel tree, find the GeoPackage file (.gpkg) you are working with.
  4. Expand the GeoPackage: Click the arrow next to the GeoPackage name to view all the layers (tables) it contains.
  5. Delete the layer: Right-click on the specific layer/table you want to remove and select Delete Layer.
  6. Confirm the deletion: A confirmation window will appear; confirm that you want to delete the layer. 


Method 2: Using the DB Manager

The DB Manager provides a more database-oriented interface and is useful for managing multiple tables or running SQL commands. 

  1. Open the DB Manager: Go to the top menu and select Database > DB Manager.
  2. Connect to the GeoPackage: In the left-hand tree, expand GeoPackage. Right-click on GeoPackage and select New Connection, then browse to your .gpkg file.
  3. Find the table: Expand the connection to your GeoPackage and locate the desired table under Tables or Spatial tables.
  4. Delete the table: Right-click on the table name and select Delete.

That is it!

Saturday, December 6, 2025

CASE expression in QGIS

Understanding QGIS Expressions

A QGIS Expression is a combination of one or more values, operators, and functions that is evaluated dynamically within the context of a QGIS project.

The syntax for the QGIS Expression language is derived from Structured Query Language (SQL).

QGIS Expressions are utilized extensively throughout the QGIS environment, making familiarity with them essential for a wide range of geospatial tasks. Their applications include, but are not limited to:-

  1. Mapping and Symbology: Manipulating symbology and labels to create sophisticated, data-driven visual representations.
  2. Data Analysis and Management: Selecting features based on specific criteria, and generating new columns or updating existing ones in the attribute table.
  3. Feature Management: Creating new geometries using the Geometry Generator tool or calculating spatial attributes.
  4. Data Exploration: Filtering and querying data for rapid exploration and analysis.


The Syntax

  • (1) 'name' means a string text name
  • (2) "name" means a attribute column called name for the curent feature
  • (3) @name means a variable value called name. This used to be $name in older version of QGIS.
  • (4) name() means a function called name





The CASE expression in QGIS provides conditional logic, allowing the assignment of different values or the execution of different actions based on whether specified conditions are met. This is particularly useful in the Field Calculator, for data-defined properties, or within expressions used for labeling and symbology.


CASE

WHEN "NAME" IN ('New Caledonia', 'Jamaica', 'Bolivia', 'Suriname', 'Dem. Rep. Congo', 'Iraq') THEN "WB_A3" 

END






Wednesday, November 26, 2025

How to Open QGIS Attribute Table as a docked window

 If you don't want your layers attribute table been displayed as a regular window that is movable on screen, then you ca make it docked/fixed by following this guide.

When you open an attribute table of any vector layer by default, it will appear to cover the map canvas justr like the image below.

Even if you tried to move the attribute table window, it won't be of much help in having it docked like in the image below. 


To achieve this docked window, you need to make use of the 'Settings Menu' as follow;-

Settings ► Options ► Data sources ► Feature Attributes and Table. Then check the box for 'Open attribute table in a docked window'


You can also make the column size fit to content by checking the 'Autosize all columns by default when opening attribute table' check-box.


That is it!

Thursday, November 20, 2025

Mapping Inter-confederation, European playoffs fixtures for the 2026 World Cup

 As of November 20, 2025, 42 spots for the 48-team 2026 FIFA World Cup have been secured through direct qualification. The remaining six spots will be decided through two separate playoff tournaments in March 2026. 

In this post, I will create a map showing the teams that will participate in the playoff tournaments.

Teams for Inter-confederation playoff: New Caledonia, Jamaica, Bolivia, Suriname, DR Congo, and Iraq



Teams for European playoff: Italy, Northern Ireland, Wales, Bosnia-Herzegovina, Ukraine, Sweden, Poland, Albania, Turkey, Romania, Slovakia, Kosovo, Denmark, North Macedonia, Czech Republic and Republic of Ireland




Goodluck to the playoff teams

Monday, November 10, 2025

Reproducing the "Map of Nigerian Languages"

 I needed a softcopy of the 'Map of Nigerian Languages' by the National Library of Nigeria. Unfortunately, all the softcopies I found where not useful to me because the image resolution was poor (see images below). So I decided to re-produce one from scratch.

Radio Nigeria has a copy of the map here but it is of low resultion for my use. Although it served as a reference for the new map i intend to reproduce. I also referenced this video on National Library of Nigeria facebook page.

For the list of languages, I utilized this source from National Institute for Cultural Orientation (NICO) to prepare the list below in JSON format:-

'[{"STATES":"ABIA","LANGUAGES":"Igbo"},{"STATES":"ADAMAWA","LANGUAGES":"Bachama, Bali, Bare, Batta, Bena, Bille, Boga, Baba, Bura, Chamba, Chobbo, Dangsa, Dadiya, Dera, Dijim-Bwilim, Dirim, Dibanci, Dong, Doso, Fali, Fulfude, Gaa, Ga’anda, Gbaya-Northeast, Gola, Gengle, Gira, Gongla, Gorobi, Gude, Gudu, Gwaba, Hide, Higgi, Holma, Hona, Huba, Hwana, Hya, Jenjo, Kaan, Kanakuru, Kamwe, Kofa, Koma, Korna, Kpasam, Kugama, Jango, Jkumba, Kilba, Kwa, Kwak, Koma, Laka, Lala, Lak-Roba, Lamang, Libbo, Lunguda, Loo, Matakam, Mobas, Mafa, Marghi South, Mboi, Mbongno, Mbula-Bwazza, Mingang Mumuye, Muchala, Mwana,Ngoshe, Ngwaba, Njayi, Njerep, Nona, Nyong, Nzanyi, Psikye, Samba Leko, Sate, Sukur, Tambo,Tangale, Teme, The, Tso, Vemgo, Verre, Volma, Voro, Waja, Wom, Wula, Yandang, Yundur, Zizilivakan"},{"STATES":"AKWA IBOM","LANGUAGES":"Anang, Efai, Eki, Ekit, Etebi, Ibibio, Ibino, Ibuoro, Idere, Iko, Ilue, Itu Mbon Uzo, Okobo, Uda"},{"STATES":"ANAMBRA","LANGUAGES":"Igbo, Igala"},{"STATES":"BAUCHI STATE","LANGUAGES":"Ajawa, Beele, Bure, Ciwogai, Dass, Daza, Deno, Diri, Duguri, Galambu, Gamo-Ningi, Fulfude, Geji, Gera, Giiwo, Gwa, Gyem, Izere, Jimi, Ju, Karekare, Kariya Kir-Balar, Kubi Kudu, Kudu Camo, Kutto, Kwaami, Labir, Lame Lenoro, Lere, Luri, Mangas, Mburku, Miya Pa’a,-Kwonci, Sanga, Saya, Shau, Shiki, Shuva-Siri, Sur, Tala Tunzuii, Vaghat-Ya-Bijin-Legeri, Warji, Zangwal, Zari, Zeem, Ziriya"},{"STATES":"BAYELSA","LANGUAGES":"Abureni, Epie, Do Southeast, Kirike, Odual, Ogbia, Okochia, Kugbo, Izon"},{"STATES":"BENUE","LANGUAGES":"Agatu, Akpa, Basa, Edumoga, Eloyi, Etulo, Igede, Igbo, Idoma, Iyala, Kukele, Koring, Otank, Odual, Otukpo, Otukpa, Orokam, Peere, Samba-Daka, Tite, Tiv Wanna, Surubu, Utonkon"},{"STATES":"BORNO","LANGUAGES":"Afade, Arabic, Shuwa, Bure-Pabir, Ciback, Aghwede, Fullfude, Glauda, Guduf-Gara, Gvoko Hide, Jara, Jilbe, Kanuri, Lamang, Kurama, Mafa, Marghi South, Tadaga, Tera, Wandda, Yedina Cinen, Babur-Bura."},{"STATES":"CROSS RIVER","LANGUAGES":"Awgagwune, Alege, Bakpinka, Bekwarra, Betc-Bendi, Bokyi, Bumaji, Doko Uyanga, Ebughu, Efik, Efutop, Ejagham, Evant, Kevemaci, Ito, Kiong, Kohumono, Korop, Kukele, Lenyima, Leyigha, Lokaa Lubila, Mbembe, Nde-Nsele-Nta, Ndoe, Nkem-Nkum, Nkukoli, Nnam, Obanlinku, Obolo, Odut Olulomo, Ikom, Oring, Oro Otank, Putukwan, Tamajag, Ubaghara, Ubangi Ukpe-Bayobiri, Ukpet-Ehom, Umon, Usaghade, Uzekwe, Tacc, Yaka"},{"STATES":"DELTA","LANGUAGES":"Eruwa, Isekiri, Isoko Izon, Kalabari, Ogboronuagum, Okpe, Urhobo, Vubie, Ika, Ukwani-Aboh-Ndoni"},{"STATES":"EDO","LANGUAGES":"Edo, Emai-Luleha-Ora, Enwan, Esan, Ghotuo, Ibilo, Idesa, Igwe, Ihevbe, Ika, Ikpeshi, Ivebe-North-Okpela-Arhe, Ososo, Sasaru, Ukaan, Uneme, Uokha Yekhee"},{"STATES":"EKITI","LANGUAGES":"Yoruba"},{"STATES":"EBONYI","LANGUAGES":"Igbo"},{"STATES":"ENUGU STATE","LANGUAGES":"Igbo, Igala"},{"STATES":"GOMBE","LANGUAGES":"Awak, Bangunji, Bolewa, Boh, Burak, Cham, Dadiya, Deji Fulani, Gasi, Ggizim, Hausa, Hone, Jara, Jukun, Kamo, Kana-Kuru, Kanuri, Koma, Kare-Kare, Kushi, Lunguda, Marghi South, Ngamo Pero, Tangale, Tera, Tso, Tula, Tuk, Kamo, Waja, Wurkum"},{"STATES":"IMO","LANGUAGES":"Igbo"},{"STATES":"JIGAWA","LANGUAGES":"Auyokawa, Fulfude, Kanuri, Teshenawa, Kurama, Hausa"},{"STATES":"KADUNA","LANGUAGES":"Amo, Ashe, Atsam, Ayu, Begbere-Ejar, Bina, Cinder-Regi-Tiyal, Cori, Doka, Dungu, Dza, Gbagyi, Gbiri-Niragu, Fulfude, Hyam Idon,M Idun, Iku-Gora-An-Kwa, Izere, Jere, Jiu, Kadara, Kaningkom-Nindem, Kanufi, Kataf, Kinuku, Kono, Kuturmi, Mada, Mala, Ndun, Ningye, Ninzo, Nungu, Nyeng, Piti, Rogo, Ruma, Saya, Sha, Shamang, Tumi Zhire"},{"STATES":"KANO","LANGUAGES":"Fulfude, Gibannawa, Hausa, Kurama, Amo"},{"STATES":"KATSINA","LANGUAGES":"Fulfude, Hausa"},{"STATES":"KEBBI","LANGUAGES":"Acipa, Cinda-Regi, Fulfude, Tital, C’lela, Dendi, Hunsaare, Kyenga, Peshe, Tsikimba, Ut-Ma’in, Hausa,"},{"STATES":"KOGI","LANGUAGES":"Alere, Basa, Ebira, Eggan, Gwari, Igala, Kakanda, Koto, Kupa, Oko-Eni-Osayeri, Okun, Okpamheri, Saya, Ogori"},{"STATES":"KWARA","LANGUAGES":"Batonu, Bagobiri, Bokobaru, Fulfude, Hausa, Nupe, Yoruba"},{"STATES":"LAGOS","LANGUAGES":"Yoruba, Awori"},{"STATES":"NASARAWA","LANGUAGES":"Afo, Agatu, Agoi, Ake, Alago, Alumutesu, Arum, Ashe, Basa-Gumna, Buh, Duhwa, Eggo, Fulani, Gade, Gbagyi, Goemai, Gwandara, Ham, Hausa, Hasha, Jukun, Kantana, Kofyar, Koro, Kulere, Lijili, Migili, Mada, Mama, Ninzo-Nungu, Nyankpa, Saya, Yeskwa"},{"STATES":"NIGER","LANGUAGES":"Asu, Baangi, Basa-Gumna, Basa-Gurmana, Basa-Kon Tagora, Busa, Gishinginni, C’ida, Dendi, Dibo, Fungwa Gbari, Gurmana, Gwandara, Hungworo, Hun-Saare, Ija-Zuba, Kadara, Kakanda, Kakihum, Laru, Lopa, Nepe-Nope-Tako, Pongu, Rogo, Shama-Sambuga, Tsikimba, Tsishinginni, Tsuvadi"},{"STATES":"OGUN","LANGUAGES":"Gun, Yoruba, Egba, Ijebu, Owu, Awori, Yewa."},{"STATES":"ONDO","LANGUAGES":"Ahan, Akpes, Arigidi, Ayere, Ehuem, Iyayu, Uhami, Ukaan, Ukue, Yoruba, Okpamher"},{"STATES":"OSUN","LANGUAGES":"Yoruba"},{"STATES":"OYO","LANGUAGES":"Yoruba"},{"STATES":"PLATEAU","LANGUAGES":"Atsam, Bada, Berom, Boghom, Bo-Rukul, Cakfem-Mushere, Casacen, Centum, Che, Como Karim, Dibo, Duguri, Etem, Fulfude, Fyaam, Fyer, Ganang, Goemai, Horom, Iguta, Irigwe, Izora, Janji, Jorto, Koenoem, Kotyar, Kulere, Lemoro, Kurama, Miship, Montol, Mundet, Mwaghavul, Ngas, Numan, Panawa, Pe, Pyapun, Ron, Sambe, Saya, Shakara, Shalkl-Zwall, Sheni, Sur, Tal, Tanjijili, Tarok, Toro, Tunzuii, Tyap, Vaghotya-Bijim-Legeri, Wapan, Wapha, Yangkam, Yiwom, Yukumben, Zumb."},{"STATES":"RIVERS","LANGUAGES":"Baan, Biseni, Defaka, Degema, Ekpeye, Eleme, Engenni, Gokana, Ibani, Ikwere, Izon, Kalabari, Khana, Kugbo, Obulom, Olchichi, Ogbah, Ogbogolo, Okochia, Ukwani-Aboh-Ndoni."},{"STATES":"SOKOTO","LANGUAGES":"Fulfude, Hausa"},{"STATES":"TARABA","LANGUAGES":"Abon, Akum, Ambo, Anca, Batu, Bête, Bitare, Bukwen, Buru, Como Karim, Dadiya, Dong, Dzodinka, Esimbi, Ettywan, Feli Of Baissa, Fam, Fulfude, Fum, Jiba, Jibu, Jiru, Jukun-Takkum, Kam, Kapya, Kholok, Kpan, Kpati, Kulung, Kutep, Kpak, Lamja-Dengsa-Tola, Lamnso, Leeelau, Limbum, Lufu, Maghadi, Mak, Mambilla, Marghi Central, Marghi South, Mbembe, Tijan, Mingang Doso, Moo, Mvanip Ned-Gbite, Ndoola, Ndunda, Nshi, Nyam, Rangishoo-Mindanye, Somyev, Viti, Waka, Wapan, Yamba."},{"STATES":"YOBE","LANGUAGES":"Fulfude, Kanuri, Bade, Hausa, Ngamo, Shuwa Kanuri, Manga, Karekare, Marghi Central, Marghi South."},{"STATES":"ZAMFARA","LANGUAGES":"Fulfude, Hausa"},{"STATES":"FCT","LANGUAGES":"Bassa, Gbagyi, Hausa, Gwandara, Gade"}]'
The following states have more than ten (10) major and minor spoken indigenous languages: ADAMAWA, PLATEAU, TARABA, BAUCHI, CROSS RIVER, KADUNA, NASARAWA, GOMBE, NIGER, BENUE, BORNO, RIVERS, EDO, AKWA IBOM, KOGI, KEBBI, ONDO, DELTA, and YOBE. The table below shows the total number languages for each state. 


To prepare the map, I made use of Inkscape vector graphics software since the map is not a GIS specific task without scientific cartography elements such as scale, north arrow, grid, projection etc.
"Scientific maps adhere strictly to the principles of cartography and geospatial information science (GIS). On the other hand, Non-scientific maps often sacrifice technical accuracy for ease of use, aesthetic appeal, or conceptual clarity".

The map is more of a conceptual communication map not a measured scientific map that requires the use of GIS tool.

Saturday, November 1, 2025

Inkscape for Geo-Scientific Research Publishing: Creating High-Quality Maps & Scientific Figures

 It is an observation worth making that the skill of graphics design remains significantly underrated among authors in academic research. This oversight, which can diminish the impact and clarity of scholarly work, is a mistake I initially made myself.

However, I swiftly recognized this deficit and took corrective action by dedicating time to learning an effective, open-source graphics design tool: Inkscape. This choice allowed me to substantially enhance the visual presentation of my research findings, from schematics and diagrams to conceptual figures. The message here is clear: proficiency in graphics design is not merely an optional extra but a critical component of effective academic communication. If this is a skill gap in your own repertoire, be assured that it is not too late to remedy it and immediately elevate the standard of your published work.

To help you accomplished this, I have created a YouTube video series tailored toward using inkscape for making research figures.

Inkscape is a powerful, free, and open-source vector graphics editor suitable for creating figures for geo-scientific research publications, such as journal articles, posters, and illustrations. InkScape is a good choice for authors preparing diagrams and other line art for their manuscript.

Basic steps for making each figure will generally be based on the following

Steps:

  1. Determine the Figure's target size - 2% of design time is expected to be spent here. 
  2. Design and Arrange the Figure Components - 95% of design time is expected to be spent here.
  3. Finalize and Export the Figure - 3% of design time is expected to be spent here.

Scientific figures just like the papers are fundamentally constructed by taking existing ideas adapting, applying, and improving them in novel contexts over time. Inkscape can be used for the following:-

  • Developing original schematic diagrams from conception.
  • Simplify complex figures from papers for presentation clarity.
  • Refine and adjust plots exported from programs (e.g., Excel, MATLAB, Python, R, ArcGIS, QGIS).
  • Annotate photos by adding details like labels, scale bars, arrows, and outlines.
  • Comprehensive design and production of scientific conference posters.

Some of what you will learn are adapting a research figure, fixing a portion of an existing research figure, preparing confrence posters, designing graphical abstract etc.



Video 1: Introduction to Inkscape for Geo-Scientific Research Publishing



Video 2: Adapting a research figure from a journal paper



Video 3: Fxing the key/legend of a remote sensing classification image



Video 4



Video 5



Video 6


Video 7


Video 8


Video 9


Video 10


Video 11



Video 12



Thank you for following.

Sunday, September 21, 2025

How to Open a drone PointCloud file in AutoCAD

 To open PointCloud file generated from a drone phogrammetry software in AutoCAD, the point cloud file must be in Autodesk ReCap (.rcp, .rcs) format as seen below.


What is Autodesk ReCap?

Autodesk ReCap is reality capture software used to transform real-world objects and environments into digital 3D models from photographs and laser scans. The software allows users to view, edit, and prepare high-quality digital assets, often as point clouds or meshes, for use in other Autodesk software, such as AutoCAD, Revit, and Navisworks. Its file extension is either .rcp or .rcs, hence any point cloud file that most be imported into AutoCAD must be converted into the ReCap file extension using the Autodesk ReCap software. To proceed with this tutorial, download and install the Autodesk ReCap software. You also need the Autodesk login credentials, so signup for one if you don't have it already.


Step-by-step

1) Launch the Autodesk ReCap and create a new project



2) Import all your point cloud files that are either in .laz, .las, .ply, .csv etc. If you work with webODM drone software you should be farmilier with these point cloud files.


In addition to the point cloud file types listed above, Autodesk ReCap also supports others as seen below;

Monday, August 18, 2025

Using custom Hausa font within QGIS

 QGIS just like most computer software uses the fonts that are installed on your computer. So, to use a Hausa font in QGIS you will need to install the font on your computer.

There are two commly used Hausa font in use, namely: Dr. Abdallah Uba Adamu (Abdalla.ttf) and Rabiat Muhammad (Rabiat.ttf) fonts. You can download and install both from this Google drive folder. After you download double-click on the file to and click on install button to install them on your computer as seen below.




Both fonts where developed by Prof. Abdalla Uba Adamu in his contribution to the development of Hausa language in modern era, he developed 'hooked' Hausa language character font sets (ɓ Ɓ ɗ Ɗ ƙ Ƙ), which were not present at the advent of the word processors in Nigeria in the 1990s. He named them 'rabi'at' (after his mother, Rabi'at Muhammad) and 'abdalla' (after himself, as he could not think of any name at the time).



After installation, the fonts will be available in QGIS as seen above.

To type the special Hausa characters (ɓ Ɓ ɗ Ɗ ƙ Ƙ), we will utilize "~, |, ], [, } and {" for Abdalla.ttf font and "v, V, x, X, q and Q" for Rabiat.ttf font. The table below summaries what you need to type to achieve keying or typing the special Hausa characters.








That is it!