jps services
  • Home Page
  • GIS Training Courses
    • QGIS Training Courses
    • ArcGIS Training Courses
    • MapInfo Pro Training Courses >
      • MapBasic Training Course
  • About
  • Blog

5 QGIS Tools Every MapInfo User Should Know

23/9/2026

0 Comments

 
If you've spent years in MapInfo Pro, QGIS can feel both familiar and slightly alien at the same time — the core concepts of layers, styling, and spatial queries are all there, but the tools that do the job often go by different names, or work in noticeably different ways. Whether you're exploring QGIS out of curiosity or actively planning a migration, here are five tools worth getting comfortable with early.
1. The Field Calculator MapInfo users are used to Update Column for running expressions against a table. QGIS's equivalent — the Field Calculator — does the same job but with a much larger built-in function library, including native spatial functions like $area, $length, and $geometry. It also supports creating new fields on the fly rather than requiring one to already exist, which speeds up everyday attribute work considerably.
2. The Processing Toolbox This is arguably QGIS's biggest single advantage over MapInfo out of the box: a searchable library of hundreds of geoprocessing tools — buffers, clips, intersections, dissolves, and far more — all accessible from one panel, with the ability to chain them into repeatable models via the Graphical Modeler. MapInfo users accustomed to running these operations one at a time, often via separate menus or the MapBasic window, will find the Processing Toolbox a genuine productivity jump, especially once you start saving your own custom models for recurring workflows.
3. The Layer Styling Panel MapInfo's styling is typically handled per-layer through fairly linear dialog boxes. QGIS's Layer Styling panel is more powerful but takes a bit of adjustment: symbology is rule-based and layered, supporting data-defined overrides (styling driven directly by attribute values), multiple rendering rules per layer, and live preview as you build. It's a steeper initial learning curve, but it opens up cartographic control that MapInfo's native styling tools don't offer as readily.
4. The Query Builder / Select by Expression Where MapInfo users would reach for SQL Select, QGIS offers both a similar SQL-style Select by Expression tool and, separately, the more visual Query Builder in the layer properties. The expression syntax is broadly comparable to SQL, so the transition is fairly gentle, but QGIS also layers in built-in spatial predicates (intersects, contains, within, and so on) directly in the same expression builder — handy for combining attribute and spatial logic without needing separate steps.
5. DB Manager (for PostGIS connections) If you're managing shared or larger datasets, DB Manager is QGIS's built-in tool for connecting to spatial databases like PostGIS directly — browsing tables, running SQL, and adding layers straight from the database rather than working off static files. For teams moving away from individually-edited MapInfo TAB files toward a proper shared database, this is often the single biggest workflow shift, and one well worth exploring early even if you're not ready to fully commit to PostGIS yet.
Getting comfortable with the shift None of these tools are difficult once you've used them a few times — the real adjustment is unlearning MapInfo's menu structure and trusting that QGIS's tools, while organised differently, generally do more with less clicking once you know where to look. If you're planning a full migration, working through these five in a hands-on session tends to be the fastest way to build real confidence.
Want hands-on guidance?
JPS Services runs instructor-led QGIS training courses designed specifically to help MapInfo and ArcGIS users make the switch — covering everything from loading and styling data through to queries, analysis, and producing print-ready maps. Find out more about our QGIS training courses →
0 Comments

Why PostgreSQL and PostGIS Belong in Your QGIS Workflow

22/9/2026

0 Comments

 
​If you're using QGIS day to day, there's a good chance your data lives in shapefiles or file geodatabases. That works fine — until it doesn't. As datasets grow, teams grow, and projects get more complex, a lot of GIS users hit the same wall: file-based formats simply aren't built for multi-user editing, large-scale analysis, or serious data integrity. That's where PostgreSQL and its spatial extension, PostGIS, come in.

​What PostGIS actually adds

​PostgreSQL is a mature, open-source relational database. PostGIS extends it with spatial data types, spatial indexing, and a huge library of spatial functions — everything from ST_Intersects to ST_Buffer to topology validation. In practice, this means you can store millions of features in a single table and query them with genuine SQL power: joins, aggregations, spatial filters, all running server-side rather than choking your desktop machine.

Why this matters specifically for QGIS users

QGIS talks to PostGIS natively — no plugins required. Once you connect, you get:
  • Multi-user editing. Several people can edit the same dataset at once without the file-locking headaches of shapefiles or the single-writer limits of file geodatabases.
  • Faster performance on big datasets. Spatial indexes mean QGIS only pulls back what's actually in view, rather than loading an entire layer into memory.
  • Version control and data integrity. Constraints, triggers, and referential integrity live in the database, not scattered across loosely-linked files.
  • A single source of truth. Instead of five copies of a "final_v3" shapefile floating around a shared drive, everyone points at the same live table.
  • SQL-driven analysis inside QGIS. The DB Manager and Query Builder let you write spatial SQL directly, and virtual layers let you build views without duplicating data.

A typical use case

​Say you're managing forestry compartment boundaries across several sites. Store them in PostGIS, and every analyst on the team edits against the same live dataset. Run a spatial join to flag compartments within a buffer of a watercourse, and the query executes in the database — QGIS just renders the result. No manual exports, no mismatched copies, no "which version is current" confusion.

Getting started

​The learning curve is real but not steep: it's mostly a matter of getting comfortable with basic SQL and understanding how spatial indexes work. Once that clicks, most users don't go back to file-based workflows for anything beyond quick one-off projects.

Want hands-on training?

If you'd rather learn this properly than piece it together from blog posts, JPS Services runs a full-day PostgreSQL & PostGIS training course for GIS analysts — from the fundamentals through to spatial queries you can put to work in QGIS straight away. Please complete the enquiry form for more information.
0 Comments

MySQL vs PostgreSQL: Which Database Should You Choose in 2026?

27/4/2026

0 Comments

 
MySQL and PostgreSQL are two of the most widely used open‑source databases in the world. Both are mature, reliable and well supported. But they are built on different philosophies, and those differences matter when choosing the right database for a new system or modernising an existing one.
This blog explains the practical differences in a clear style, simple language, no jargon, and focused on real‑world use.

​1. Overall Positioning

MySQL has historically been the default choice for web applications, especially those built on the LAMP stack. It is simple, fast and widely supported.
PostgreSQL has grown rapidly in recent years and is now the preferred database for modern applications, analytics, GIS, and systems that need strong data integrity.
In short:
  • MySQL focuses on speed and simplicity
  • PostgreSQL focuses on correctness, features and extensibility

​2. Adoption Trends

PostgreSQL has overtaken MySQL in developer surveys and is now the most commonly used database in new projects.
MySQL remains widely deployed, especially in legacy systems and CMS platforms such as WordPress, but PostgreSQL is increasingly the default choice for new development.

​3. Performance Differences

Both databases perform well, but they excel in different areas.
MySQL performs best when:
  • Workloads are simple and read‑heavy
  • The application is web‑based and not data‑intensive
  • The priority is speed over advanced features
PostgreSQL performs best when:
  • Queries are complex
  • Data integrity is important
  • The system needs advanced SQL features
  • Spatial data or analytics are required
For most modern applications, PostgreSQL’s query planner and feature set give it the edge.

​4. Feature Comparison

PostgreSQL strengths
  • Very strong SQL standards compliance
  • Advanced JSON support
  • Window functions and analytical queries
  • Highly extensible (custom data types, operators, extensions)
  • Excellent concurrency handling
MySQL strengths
  • Simple to set up and maintain
  • Fast for basic read‑heavy workloads
  • Multiple storage engines
  • Well supported by hosting providers
PostgreSQL’s extensibility is a major reason it is chosen for modern engineering teams.

​5. Spatial Data: A Clear Winner

​PostgreSQL’s PostGIS extension is widely regarded as the most advanced open‑source spatial database technology.
MySQL includes spatial features, but they are far more limited.
For any organisation working with mapping, assets, inspections or geospatial analysis, PostgreSQL is the obvious choice.

​6. Use‑Case Recommendations

Choose PostgreSQL if you need:
  • Complex queries
  • Strong data integrity
  • Spatial data (PostGIS)
  • Multi‑tenant SaaS
  • Analytics or reporting
  • Long‑term scalability
Choose MySQL if you need:
  • A simple, fast database for web applications
  • WordPress or CMS hosting
  • A lightweight system with minimal complexity

​7. Summary

For most new systems — especially those involving GIS, analytics, multi‑department data sharing or long‑term scalability — PostgreSQL is the stronger, more future‑proof choice.
MySQL still has a place in legacy environments and simple web applications, but PostgreSQL has become the default database for modern development.

​8. Summary Table

Area PostgreSQL MySQL
Design priority Correctness and features Speed and simplicity
Best for Complex queries, analytics, GIS Read‑heavy web apps
Extensibility Very high Moderate
Standards compliance Strong Weaker
Spatial support Industry‑leading (PostGIS) Basic
Adoption trend Increasing Stable
Ideal workloads SaaS, analytics, geospatial CMS, LAMP, simple apps
0 Comments

What’s New in QGIS 3.44

27/10/2025

0 Comments

 
​Released on 20 June 2025,  QGIS 3.44 (Solothurn)  marks the last feature-packed release in the 3.x series before the transition to QGIS 4.0. This version refines workflows, boosts performance, and introduces a stunning new way to visualise your data — making it a worthwhile upgrade for all GIS users.

Below is an overview of the main highlights.

​Explore the World with the New 3D Globe View

​One of the most exciting new features in QGIS 3.44 is the  3D Globe View . You can now open your map project on a full 3D globe rather than a flat plane, allowing for true planetary-scale visualisation.

Key benefits include:
  • Support for  3D Tiles  and  point-cloud layers  directly in Globe View.
  • Smooth performance when zooming between local and global scales.
  • Simple access via  View → 3D Map Views → New 3D Globe View .

For consultants and trainers, this feature offers a visually engaging way to demonstrate global datasets and spatial relationships.

​Workflow and Processing Enhancements

QGIS 3.44 continues to improve the daily user experience with advancements across the Processing toolbox and Expression engine.

Highlights include:
  • Enhanced  database connectivity  for smoother integration with PostGIS and other data sources.
  • Faster, more stable  processing algorithms  for geoprocessing workflows.
  • Refined  labelling and layout tools , giving better control over print maps and atlas outputs.

These updates make QGIS more efficient and reliable, particularly when creating deliverables for clients or during live training sessions.

​Smarter Project and Data Management

Version 3.44 introduces several refinements that make working across machines and teams much easier:
  • Improved project portability with enhanced relative path handling.
  • More responsive performance when working with large datasets.
  • Better compatibility with plugins and third-party data providers.

This stability and compatibility make 3.44 a strong, dependable platform for production work and teaching environments.

​Why It Matters for Training and Consultancy

​For those providing GIS training and consultancy — especially if you work with clients transitioning from ArcGIS or MapBasic — this release has several advantages:
  • For beginners:  The 3D Globe provides an immediate visual “wow” factor, helping new users grasp spatial concepts quickly.
  • For advanced users:  Improved automation and processing mean more time analysing data and less time fixing issues.
  • For clients:  Using the latest QGIS version demonstrates commitment to best practice and modern tools.
  • For trainers:  QGIS 3.44 ensures stability and plugin compatibility before the move to version 4.0.

​Recommended Next Steps

​1.  Update your setup:  Install QGIS 3.44 on all training or project computers.
2.  Revise your materials:  Add short examples showing the 3D Globe and layout enhancements.
3.  Test your plugins:  Confirm compatibility before running live demos or workshops.
4.  Inform your clients:  Mention that your deliverables and lessons use QGIS 3.44 for full compatibility.
5.  Prepare for QGIS 4.0:  The next major release will bring the transition to Qt 6, but 3.44 remains a solid, long-term platform.

​Final Thoughts

​QGIS 3.44 is a polished, professional-grade release that rounds off the 3.x series beautifully. The addition of the Globe View, along with numerous workflow and performance improvements, makes it an excellent choice for consultants, educators, and GIS professionals alike.

If you haven’t yet upgraded, now is a great time to do so — and to start preparing your workflows and training materials for the next big leap to QGIS 4.0.

​Need Help Getting Started with QGIS 3.44?

​If you’d like support setting up QGIS, migrating existing projects, or providing staff training materials, we can help.
Please get in touch and discuss your GIS requirements.
0 Comments

Introduction to QGIS

8/5/2025

0 Comments

 
This blog will provide an overview of QGIS, its interface, and basic navigation.
​
What is QGIS?
QGIS (Quantum GIS) is a free, open-source Geographic Information System that allows you to create, edit, visualize, analyse, and publish geospatial information on Windows, Mac, Linux, and mobile devices. It supports vector, raster, and database formats.

​Interface Overview
When you first open QGIS, you’ll see the following main components:
​
Menu Bar: Contains menus for various functions like Project, Edit, View, Layer, Settings, Plugins, Vector, Raster, Database, Web, Processing, and Help.
Picture
Toolbar: Quick access to common tools such as zoom, pan, selection, and layer management.

Picture
Layers Panel: Lists all the layers in your project. You can manage layer visibility, group layers, and set properties here.
Picture
Browser Panel: Provides easy access to your data sources including local files, databases, and web services.
Picture
Map Canvas: The main area where your map is displayed and edited.
Picture
Status Bar: Displays map coordinates, scale, and other useful information.
Picture
Opening QGIS

Launch QGIS: Double-click the QGIS icon on your desktop or find it in your start menu.

Create a New Project: Go to Project > New to start a new project. You can also use the New Project button on the toolbar

Understanding the Interface

Menu Bar:

Familiarize yourself with the menus.

For example, Project for project-related tasks, Layer for layer management, and View for map navigation tools.
Toolbar:

Explore the toolbar icons. Hover over each icon to see a tooltip that describes its function.
Common tools include:
Zoom In/Out: Magnify or reduce the map view.
Pan: Move the map without changing the zoom level.
Select Features: Select features from layers.
Identify Features: Click on a feature to see its attributes.
Measure: Measure distances and areas on the map.
Layers Panel:

This panel displays all the layers in your project. You can control the visibility of layers by checking or unchecking the boxes next to each layer name. Right-clicking on a layer opens a context menu with options for layer management.
Browser Panel:

This panel helps you navigate through your files and databases. You can drag and drop data directly from the browser to the map canvas.
Map Canvas:

The central part of the interface where your map is displayed. You can interact with the map using the tools from the toolbar.
Status Bar:

Located at the bottom of the QGIS window, it shows useful information such as the current map coordinates, scale, and rendering progress.
Basic Navigation

Zooming and Panning:

Use the Zoom In and Zoom Out tools to change the map view. Alternatively, you can use the scroll wheel on your mouse.
Use the Pan tool or hold down the middle mouse button to move the map around.
Selecting Features:

Click on the Select Features tool.
Picture
Then click and drag on the map canvas to select features within the drawn rectangle.
Picture
Identifying Features:

Use the Identify Features tool to click on any feature on the map.

Picture
 A window will pop up displaying the attributes of the selected feature.

Picture
Summary
In this blog, we have covered the basic components of the QGIS interface and how to navigate within the software. Understanding the interface is the first step in utilizing QGIS for geospatial analysis and map creation.

0 Comments

Repairing Broken Links in a QGIS Project:

13/3/2025

0 Comments

 

Why Broken Links Happen

Working on GIS projects in QGIS (Quantum GIS) can be an enriching experience, but it’s not uncommon to encounter issues such as broken links to data sources. Broken links occur when the paths to your data files change, which might happen due to file relocation, renaming, or transfer to a different system. Here’s a  guide to repairing broken links in a QGIS project to ensure your data is correctly loaded and your project runs smoothly.

Broken links in QGIS typically occur due to:

Moving files: If you move your data files to a different directory or drive.
Renaming files or directories: Changing the name of your data files or the directories they reside in.
Relative paths: Using relative paths in your project and then moving the entire project to a different location without updating the paths.

Identifying Broken Links

 When you open a QGIS project with broken links, QGIS will alert you to the missing layers. Here’s how you can identify them:
Picture

Notification on Load

 When you open a project, QGIS will display a message box listing the layers that couldn't be found. Select the Keep unavailable layers option.

Layer Panel

 In the Layer Panel, layers with broken links are usually displayed with a red exclamation mark or an error message.
Picture

Repairing Broken Links

 When the dialog box shows the layers with broken links opt to keep them in the project.
Picture

Using the Data Source Manager - Open Data Source Manager

You can open the Data Source Manager by right-clicking on the problematic layer in the Layer Panel and selecting "Repair Data Source”
Picture

Change Data Source

 In the "Repair Data Source" dialog box you can browse to the new location of your data file
Picture

Apply Changes

After selecting the correct file, click "Apply" and then "OK" to update the data source. Then repeat this process with any other layers containing a red triangle.
Picture
0 Comments

Exploring QGIS: A Comprehensive Guide to GIS Training

9/3/2024

0 Comments

 
Introduction to QGIS:
QGIS, also known as Quantum GIS, is a user-friendly and feature-rich GIS software that enables users to create, edit, visualize, and analyse spatial data with ease. Developed by a global community of GIS enthusiasts and professionals, QGIS offers a robust set of tools and functionalities to support a wide range of GIS tasks, from simple mapping to complex spatial analysis.
User Interface and Navigation:
Upon launching QGIS, you'll be greeted with an intuitive user interface designed to facilitate seamless navigation and access to essential tools. The interface consists of various panels, including the Layers panel for managing spatial data layers, the Browser panel for browsing files and databases, and the Map Canvas for viewing and interacting with your maps. Familiarizing yourself with these components will help you navigate QGIS efficiently and make the most of its features.

Importing and Managing Spatial Data:
​QGIS supports a multitude of spatial data formats, including shapefiles, GeoTIFFs, GPS data, and more, making it easy to import and manage your spatial data within the software. Whether you're working with data from a local file or connecting to a remote database, QGIS provides straightforward methods for importing, organizing, and editing your spatial datasets. Understanding how to effectively manage spatial data is essential for conducting meaningful analysis and creating informative maps.
Mapping Tools and Cartographic Design:
One of the highlights of QGIS is its powerful mapping tools, which allow users to create visually compelling maps tailored to their specific needs. From basic symbology and labelling options to advanced cartographic features like scale-dependent rendering and map composer, QGIS provides the flexibility to design maps that effectively communicate spatial data insights. Learning how to leverage these mapping tools will enable you to create professional-quality maps that convey information accurately and effectively.
Spatial Analysis Techniques:
In addition to its mapping capabilities, QGIS offers a wide range of spatial analysis tools and functionalities to support data-driven decision-making. Whether you're conducting proximity analysis, spatial interpolation, or complex geoprocessing tasks, QGIS provides the tools and resources you need to perform meaningful spatial analysis. Mastering these spatial analysis techniques will empower you to extract valuable insights from your spatial data and address real-world challenges more effectively.

In conclusion, QGIS is a versatile and powerful GIS software that offers a wealth of features and capabilities for spatial data analysis and visualization. By familiarizing yourself with its user interface, mastering its mapping tools, and exploring its spatial analysis techniques, you can unlock the full potential of QGIS and embark on a rewarding journey of GIS exploration and discovery. Remember, learning GIS is a gradual process that requires patience, practice, and perseverance. So don't hesitate to dive in, experiment with different features, and seek guidance from experienced GIS professionals. ​
0 Comments

Understanding and Using QGIS Scripts: Calculate Total Area (Script Example)

13/10/2023

0 Comments

 
If you're new to GIS (Geographic Information Systems), you might wonder how to perform specific tasks efficiently. QGIS, an open-source GIS software, provides a powerful scripting interface that allows you to automate processes. In this blog, we'll explore a practical example: calculating the total area of features in a vector layer using a custom script. Don't worry; we'll break it down step by step.

Why Calculate Total Area?
Calculating the total area of features in a vector layer can be essential in various GIS projects. For instance, you might want to determine the total area of land parcels, water bodies, or administrative regions in a map. This information is valuable for urban planning, environmental analysis, and many other applications.

The QGIS Script
Here's the Python script that accomplishes this task:
Picture
Picture
Picture
How the Script Works
Let's break down the script into simpler terms:

1. Imports and Class Definition: The script starts by importing necessary modules from QGIS. Then, it defines a custom algorithm class `CalculateTotalAreaAlgorithm` that inherits from `QgsProcessingAlgorithm`. This class contains several methods that control the algorithm's behavior.

2. Algorithm Configuration: The `initAlgorithm` method sets up the algorithm's parameters. In this case, it defines the input and output layers.

3. Processing: The core logic happens in the `processAlgorithm` method. Here's a simplified explanation of what it does:
   - It retrieves the input vector layer.
   - It checks if the input source is valid.
   - It prepares an output layer.
   - It iterates through the features in the input layer.
   - For each feature, it checks if the geometry is valid.
   - If the geometry is valid, it calculates the area and creates a new feature.
   - The new features are added to the output layer.

4. Result: The script prints the total area to the Python console and returns the output layer.

Running the Script
To run this script in QGIS, you'll need to:
1. Open QGIS.
2. Go to the 'Processing' menu.
3. Open the 'Toolbox.'
4. Save your script as 'Calculate Total Area'
5. Under 'Scripts,' you should find 'Example Scripts,' and within that, 'Calculate Total Area.' 
Picture
6. Set your input vector layer.
7. Choose an output location.
8. Click 'Run.'
Picture
​The result will be a new layer with the total area of each feature in the input layer.
Picture
​Understanding this script is a great step towards harnessing QGIS's scripting capabilities. You can use this knowledge to automate various GIS tasks. Experiment with it, modify it to suit your needs, and explore other QGIS scripts to expand your GIS skills.
0 Comments

Getting Started with the Python Console in QGIS: A Beginner's Guide

10/10/2023

0 Comments

 
 Getting Started with the Python Console in QGIS: A Beginner's Guide

In this blog post, we'll explore a fundamental tool within QGIS - the Python Console - and guide you through its basics, step by step. Don't worry if you're new to Python or QGIS; we'll keep it beginner-friendly.

Step 1: Opening the Python Console

To access the Python Console in QGIS, follow these simple steps:

1. Launch QGIS.
2. Go to the "Plugins" menu.
3. Select "Python Console."
You'll see a new window at the bottom of your QGIS interface.  
Picture
 Step 2: Understanding the Python Console Interface

Before we start coding, let's understand the layout of the Python Console:

The main input area: This is where you'll write your Python code.
The "Output" tab: Displays the results of your code execution.
The "Log" tab: Shows any error messages or additional information.
Picture
 Step 3: Writing Your First Python Script
Now, let's write a simple Python script to get a feel for the Python Console. Type the following code into the input area:
Picture
 Press Enter, and you'll see "Hello, QGIS!" in the "Output" tab.
Picture
Step 4: Accessing QGIS Layers
One of the most powerful aspects of the Python Console in QGIS is its ability to interact with your GIS data. Let's start by accessing a layer. Suppose you have a layer named "Departments_Metro" You can access it like this:
Picture
 Here, we've created a variable 'layer' that contains our 'Departments_Metro' layer. Note that 'Departments_Metro' should be replaced with the name of your actual layer.
Step 5: Working with Features
Now, let's work with the features within the 'Departments_Metro' layer. We'll iterate through the features and print their attributes:
Picture
 This code retrieves all the features in the 'Departments_Metro' layer and prints their attributes.
Picture
Step 6: Performing Spatial Operations
Python in QGIS also allows you to perform spatial operations. For example, you can calculate the area of a polygon feature:
Picture
Here is the output from the above code:-
Picture
In this code, we check if a feature is a polygon and then calculate its area.

Step 7: Saving Your Work​
The Python Console in QGIS is a versatile tool that empowers GIS specialists like you to automate tasks, manipulate data, and perform complex spatial analyses. In this beginner-friendly guide, we've covered the basics of opening the console, writing and running Python scripts, and interacting with GIS layers. As you continue your journey into the world of QGIS and Python, this knowledge will serve as a solid foundation for more advanced tasks in geographic information science.
0 Comments

Integrating QGIS with PHP: Building a Simple QGIS Plugin

25/9/2023

0 Comments

 
Geographic Information Systems (GIS) enthusiasts are continually exploring ways to enhance the functionality of their favourite GIS software, QGIS. While QGIS itself is a powerful tool, its extensibility through plugins allows users to customise it to their specific needs. In this blog post, we'll dive into the world of QGIS plugins and explore a unique integration—linking QGIS with PHP. As a GIS user, you'll gain insights into QGIS plugin development and learn how to create a simple QGIS plugin that interacts with a PHP web application.

The Power of QGIS Plugins
QGIS plugins are small software add-ons that extend the capabilities of QGIS. Whether you're looking to streamline workflows, access additional data sources, or perform complex spatial analyses, there's likely a QGIS plugin that can help. These plugins are developed by the QGIS community and third-party developers, making it possible to tailor QGIS to your specific needs.

Getting Started with QGIS Plugin Development
Before we look at PHP integration, let's cover the basics of QGIS plugin development:

1. Development Environment Setup
To get started with QGIS plugin development, you'll need a development environment. Most QGIS plugins are written in Python, so having a basic understanding of Python is essential. Install Python, QGIS, and Qt Designer (a visual tool for designing user interfaces) to set up your development environment.

2. Plugin Builder
QGIS offers a handy Plugin Builder tool that simplifies the creation of new plugins. This tool generates a basic plugin template, including the necessary files and folder structure. It's an excellent starting point, especially for beginners, as it takes care of some of the initial setup complexities.
​3. Plugin Development
Once your development environment is set up, you can start coding your QGIS plugin. QGIS plugins typically consist of a combination of Python scripts, XML files for defining user interfaces, and resources like icons or images.

4. Testing and Debugging
QGIS provides a testing framework that allows you to check your plugin's functionality within the QGIS environment. Proper testing and debugging are essential to ensure your plugin works as expected.

5. Documentation and Distribution
Documentation is crucial for users who want to install and use your plugin. Fortunately, QGIS provides tools to create user-friendly documentation. After thoroughly testing and documenting your plugin, you can distribute it to others through the official QGIS Plugin Repository or other platforms.

PHP Integration with QGIS
Now, let's examine the integration of QGIS with PHP. While Python is the primary language for QGIS plugin development, you can indirectly integrate PHP with QGIS through the following steps:

1. Create a QGIS Plugin
In our example, we'll create a simple QGIS plugin that opens a PHP web application when a menu item is clicked.

Here's the code for the QGIS plugin:
Picture
Picture
2. Create a PHP Web Application
Next, develop a simple PHP web application that serves as the integration point between QGIS and PHP. Your PHP application can offer various functionalities, such as displaying maps, running spatial queries, or visualizing GIS data. For simplicity, we'll create an example that displays a "Hello, QGIS World!" message.
Picture
3. Deploy Your PHP Application
Host your PHP web application on a web server or use a local web server like XAMPP or WAMP for development. Ensure that your PHP application is accessible via a URL.

4. Install and Use the QGIS Plugin
Follow the steps below to install and use the QGIS plugin:

- Save the QGIS plugin code as a `.py` file, such as simple_plugin.py.
- Copy the file to the QGIS plugins directory. On most systems, this directory is located at:
  • Linux: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins
  • Windows: C:\Users\YourUsername\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
- Start or restart QGIS.
- Go to the "Plugins" menu in QGIS, and you should see "simple_plugin" as an option.
- Click "simple_plugin," and it will open the PHP web application in your default web browser.
Picture

When you click on the simple_plugin  it will open the default browser and display a message as in the example below.
Picture
​In this blog post, we explored QGIS plugin development and created a simple QGIS plugin that integrates with a PHP web application. While QGIS primarily relies on Python for plugin development, the indirect integration with PHP via QGIS plugins and web applications opens up exciting possibilities for extending QGIS's functionality. Whether you're building web-based GIS applications or simply customizing your QGIS experience, this integration can help you achieve your geospatial goals.
0 Comments
<<Previous

    Author

    Joe Short BSc has been involved with various mapping solutions for over twenty years.  If you are considering implementing a GIS  or have ArcGIS Pro, MapInfo Pro or QGIS training requirements, jps services would be happy to be of assistance to your organisation. 

    Archives

    September 2026
    April 2026
    October 2025
    May 2025
    March 2025
    March 2024
    October 2023
    September 2023
    August 2023
    March 2023
    April 2020
    March 2020
    October 2019
    September 2019
    August 2019
    July 2019
    March 2019
    November 2018
    October 2018
    August 2018
    July 2018
    November 2017
    October 2017
    September 2017
    July 2017
    February 2017
    January 2017
    December 2016
    November 2016
    October 2016
    May 2016
    February 2016
    September 2015
    August 2015
    April 2015
    February 2015
    November 2014
    October 2014
    July 2014
    June 2014
    May 2014
    March 2014
    February 2014
    December 2013
    November 2013
    October 2013
    September 2013
    August 2013
    June 2013
    May 2013
    April 2013
    February 2013
    December 2012
    October 2012
    September 2012
    August 2012
    July 2012

    Categories

    All
    Arc Gis
    Arcview
    Autodesk
    Cad
    Gis Training
    Local Government
    Mapbasic
    Mapinfo
    Quantum Gis
    Relational Databases
    Saga Gis

    RSS Feed