Python as an integrator of technologies to support modernization of land administration in Colombia
2019-06-25, 17:00–17:15, Room 2

Python is the main language used to integrate several technologies and develop a QGIS plugin for interoperable land administration in Colombia following the ISO:191152 (LADM). The "LADM_COL Assistant" plugin consists of user interfaces for some underlying Java technologies, as well as for data capture, spatial operations and topology validations on cadastral data.


Peace agreements signed in recent years brought to Colombia a huge challenge to regularize land tenure across the country in an efficient and decentralized manner. The post-conflict period demands optimal communication among a number of governmental organizations and private cadastral operators at several levels of interoperability, such as a shared language, a base conceptual model, and a way to interchange cadastral data.

In Colombia, the lack of formality in land tenure is one of the main territorial problems, generating difficulties in rural development due to lack of investment. The vision of public policy in recent years has seen the need to focus on projects from the territory and one of the main axes is the formalization of the land and the identification of territorial reality. Therefore, a mass predial sweep is being done looking for a multi-purpose cadastre as a governmental cadastral policy.

Territorial intervention on a large scale as proposed by public policy entails great challenges in different dimensions, but one of the transversal axes is the technological component, where different mechanisms must be generated to standardize exchange models and develop tools that allow the management of the information from the capture in the field to the delivery and maintenance of the data by the national authorities.

The Swiss cooperation supports the “Modernization of Land Administration in Colombia”, providing all the different actors with a common conceptual and technical framework. With direct participation of governmental organizations, a Colombian profile of the Land Administration Domain Model (ISO:19152), also called LADM-COL, was built. Several extended and thematic models are now based on LADM-COL, constituting the core of a new Spatial Data Infrastructure for Land Administration – IDE-AT.

In order to implement LADM-COL and the extended models, a Swiss language called INTERLIS is being used. The INTERLIS language guarantees interoperability in terms of data format and systems. A set of tools built on top of INTERLIS and called ili2db and iliValidator, provides linkage between the conceptual model and the data as well as a way to validate their integrity.

The data life cycle

The data life cycle starts with private cadastral operators collecting physical, legal and socio-economic data in the field, structuring them to be LADM-COL compliant, and generating a variety of reports based on them. Governmental authorities receive such data from cadastral operators and validate them against a number of topological and logical rules, as a prerequisite for a thematic review. Once the data is successfully integrated by cadastral authorities, the data is disposed through the IDE-AT to allow roles involved in land administration to make decisions.

Technical implementation

While freedom of methods and systems is one of the key foundations in this modernization project, the Swiss cooperation has developed and integrated an ecosystem of free software projects as a solution that can be accessed, installed and employed by any decentralized cadastral actor in the country, with no software-license costs involved. This solution takes away the predominance of proprietary GIS software vendors and brings cultural changes and challenges to Colombian institutions and professionals to embrace technological sovereignty.

In the field, an Android app called QField offers automatically generated forms to capture both geographic and alphanumeric data, as well as their associated administrative sources. As a proof of concept, an external GPS Leica Zeno GG04 antenna is used along to collect location with high accuracy.

Later on, in the office, operators use a QGIS plugin (LADM_COL Assistant) to migrate and structure the data from the field into a LADM-COL database. Furthermore, they can validate the data against the conceptual model built by and shared among cadastral authorities, to ensure that the data they submit as a result from the field operation will be valid and accepted by the authorities.

From the other hand, cadastral authorities receive data and administrative sources from operators. They validate the data in an automatic way and go back to operators if needed until the data is structured in a proper way and is both topologically and logically consistent with predefined rules. After that, authorities analyse that all requirements for updating official cadastral information are met and incorporate the changes into official systems.

Once official, the new data is disposed in the IDE-AT to all actors of the land administration in Colombia and only a subset of the data is shared with the general public. It is foreseen that from the IDE-AT, citizens can require specific cadastral processes on their parcels, but for now, only massive parcel operations are being undertaken.

What is the role of Python here?

Python acts as an integrator of several technologies for the project. The QGIS plugin “LADM-COL Assistant” is written in Python, and is the central point of access for creating, capturing, managing, packaging and submitting data following the LADM-COL model. The plugin is built on top of QGIS and Qt5, two pieces of software written in C++ that provide Python bindings called PyQGIS and PyQt5, respectively. PyQt5 allows for creating multi-platform user interfaces easily, whereas PyQGIS provides a high-level API to manipulate and process spatial data.

Besides C++ software, the QGIS plugin also wraps a Java utility called ili2db, to import and export INTERLIS data into and from a number of databases engines, offering user interfaces to interact with such utilities. Another Java software called MapFish is used to generate dynamic reports from the QGIS plugin. This is done transparently for the user, who does not even have to bother with installation or downloading, which is also handled by the plugin. In this way, Python acts as a bridge to join different technologies from a single point, which creates a seamless experience for the end user.

Another key aspect that makes Python useful and unique for this project is its high-level nature. The developer team of the project is not composed by computer scientists, but people with a thematic background with solid basis in programming. Thanks to Python this thematic team can implement functionalities without worrying too much with low-level issues that are unavoidable with other languages. Fortunately, the developer team works alongside Swiss experts, who support the team with prompt help, implement specific requirements and can fix serious issues that could be occasionally found in the base software like QGIS and ili2db.

Free software contributions

All the software developed for the “Modernization of the Land Administration in Colombia” is free and is available at GitHub, an online platform to share, manage and version software projects. But besides the software itself, the project has contributed back to the base projects QGIS and ili2db in a variety of ways: for QGIS, apart from bugs identified and fixed (be it by Colombian or Swiss developers), a new AppendFeaturesToLayer plugin was created and published; additionally, the project extensively contributes to QGIS Model Baker, a plugin by the Swiss company On the other hand, for ili2db, the project developed and maintains ili2ora and ili2mssql utilities to support database management systems used by some organizations in Colombia.

Future work

The “Modernization of Land Administration in Colombia” project by the Swiss cooperation will come to an end late this year. A functional prototype to maintain and update official cadastral data in the national cadastral authorities will be implemented. In the long term, it is expected that these organizations adopt and finish the prototype to finally replace obsolete and centralized cadastral systems by a modern system based on the LADM standard, allowing different actors to interoperate and have access to up-to-date data to support decision making in land administration and guarantee land tenure to the people.