Academic Master


using Programming languages for data processing and surveying


The land surveying profession has been experiencing significant changes over the past few decades because of major developments and advancements in technology. In the past, the use of different methodologies and techniques in the work of land surveyors was less than in the present time. Moreover, the lack of land surveying courses at colleges and universities and bigger requirements for professional licensure have affected licensure rates. It is time for the land surveying profession to start defining how the career will withstand in the future. Technology benefits the surveyor in terms of accuracy, precision, time efficiency, workforce, and consistency (Adwan and Al-Soufi, 2016).


As we know, the old method of surveying is tedious, time-consuming, less precise, and requires a larger workforce. Collecting data from sites to process and make a systematic resource for further work is tough. Surveyors need this data to make maps, contours, drawings, etc.; storing this data or maps was another challenge. However, with modern trends and technologies, surveying is not that hard, and it has become interesting for engineers. Today computer applications are used to conduct technology surveys. It is not wrong to say that computer applications have brought new dimensions to the area of surveying. It reduces time costs by 20% and requires less human effort than traditional methods (Barletta et al., 2014). To sustain the phase of prosperity in this industry, computers are the answer, given the wide range of software available in the market. One of the leading companies, AUTODESK provides many software such as AutoCAD Civil 3D, basic AutoCAD, and AutoCAD Land Desktop. Computer applications in surveying can help in two ways. Survey with non-conventional and conventional instruments. In the conventional instrument, drawing is done by taking a reading from the field and entering it into the field book then Excel, and then AutoCAD. Microsoft Excel is used to enter the data systematically. It comprises a spreadsheet containing pivot tables, graphics tools, and calculations. Autodesk developed AutoCAD for 2D and 3D drafting and design. Windows can handle the limited size of documents, and most people have this problem of importing Excel and Word documents into AutoCAD. In non-conventional instruments, a total station is a visual tool used in recent surveying. It is a mixture of an electronic distance meter, theodolite, and external software running on the computer for data collection (Camm et al., 1997). From the instrument to the point of the survey, the total station regulates the distance and angles. The coordinates of actual surveyed points and the instrument’s position are determined with the help of trigonometry and triangulation. After downloading data from theodolite, application software will map the area. GPS interface is used in the total station and combines the advantages of both; traditional total station and GPS. Global Positioning System (GPS) is a navigation system based on satellite, which directs and accepts radio signals. GPS helps to find velocity, location, weather, and time. For presenting all systems of geographically referenced information, a Geographic Information System is used which permits us to understand, view, interpret, and question data that helps disclose trends, patterns, and relationships in the form of globes, charts, maps, and reports.  Review some programming languages and their part in developing surveying and mapping software (Cremers, Alda, and Radetzki, 2005).

The history of programming languages goes beyond 100 years and a woman, Ada Lovelace, wrote the first programming language. Later, the US government started working on two projects, laying the base for modern computing. With time, improvements came along, and today we have low-level languages and high-level languages such as C, C++, Python, Matlab, and Java. Before going into the history of each language, I want to share research conducted by Coding Dojo in 2017, for most in-demand programming languages are Python, Java, JavaScript, C#, and PHP. C is a general-purpose programming language used extensively in Windows and IOS operating systems. It was created by Dennis Ritchie at AT&T Labs in 1972 and is closely related to the Unix Operating System. C Language is a powerful, efficient structured language standardized by the American National Standards Institute (ANSI). It is a middle-level language, combining the benefits of low-level language and high-level language. C language applications are developing operating systems and compilers, application software, e.g. spreadsheets and databases, graphical applications, e.g. mobile and computer games, and numerical evaluation. The language implements basic mathematical functions by using standard library math.h (Egenhofer and Frank, 1992).

C++ or “C with classes” is a high-level object-oriented programming language and the superset of C language. The language includes all C language functions, classes, inheritance, the lining, and strong type checking. The objective was to introduce Object-Oriented Programming in C language. In 1983, more features, such as the const keyword, function overloading, virtual functions, and the single-lined command, were introduced in C++. Real-world application of this language includes games, graphic user interface application, Scripting of web applications, high-level computations, graphics, databases, operating systems, advanced medical equipment such as MRI, and building compilers. C++ is also used to develop powerful surveying and civil engineering software, e.g. 12D and Autodesk Maya for 3D animation and graphics (Kaufmann and Steudler, 1998).

Guido van Rossum, the founder of Python, conceived the language in the late 1980s. The first version of Python code was released in February 1991. It was an object-oriented and modular system version with functions, exception handling, and core data types such as str, list, dict, and others. After releasing several improved versions, python released the Python 3.0 version, which contains print function, view, and iterator, int as an only integer type, and text vs data. Python outnumbered C/C++ language in an embedded system. A study by Barr Group showed Python is one of the most popular integrated languages in computer sciences for teaching coding. Its open source freely used releases, even for commercial projects makes Python more favorable. It is the fastest-growing programming language for an embedded system. In today’s agile environment reusability is the factor, that determines the future of a programming language, Python reusable features class C and C++. Complex libraries like Theano optimize Python code for complex embedded algorithms, e.g. neural networks. Python’s development speed is faster than that of C/C++, but its runtime efficiency is less than that of C/C++ languages. For improving runtime speed, libraries like Theano and JIT (Just in time) compilers are used. When Python is used as an intermediary communicator between the user and the embedded system, it allows users to automate testing. Python can assess real-world scenarios.  Python scripts are used to extract data from various GIS files and surface rasters.

Next, in line with Java, in 1991, the “Green Team” a small group of engineers working at Sun Microsystem understood that the succeeding trend in computing was the unification of digital customer devices and computers. With this idea in mind, the engineers worked day and night to generate the programming language that would transform our world – Java, which was acquired by Oracle and developed by James Gosling in 1995 as a basic module of the sun microsystem. The Green Team initially targeted the digital cable TV business and established their new language with a collaborative, home-entertainment supervisor. The concept was not mature enough to take over the digital cable industry then, but it was the right idea for the Internet. In 1995, Netscape Navigator Internet browser integrated Java technologies. Today, Java is the unseen power behind numerous applications and devices used in our daily lives and also permeates the Internet. Java is everywhere, from games and navigation systems to e-business solutions, mobile phones, and handheld devices. This revolutionary language has many real-time uses. The applications developed using Java are Mobile applications, Desktop GUI applications, embedded systems, enterprise applications, web and application servers, and scientific applications. Java is the best language, and it has been chosen by many software developers for writing mathematical operations and applications involving scientific calculations. Java programs have a higher degree of portability and low maintenance, and they are mostly considered fast and secure. For interacting user interface and as part of the core system, applications like MATLAB use Java. Because of Java’s reliability, compatibility, and practicality, nine million developers are using it, and Java’s popularity among other languages is highest. Java has contributed to the surveying and mapping industry by developing software like gvSIG. This desktop application analyzes, handles, stores, captures, and solves complicated administration and planning problems, deploying any referenced geographic information. gvSIG is known for having an interactive front end. It provides various tools for working with geographic-like material (layout creation, networks, geoprocessing, query tools, etc.). The software is available on Windows, Mac, and Linux platforms.

MATLAB stands for “matrix laboratory” Though other programming languages typically deal with one number at a time, MATLAB functions on entire arrays and matrices. Language essentials contain basic procedures, such as array indexing, creating variables, data type, and arithmetic. MATLAB has strong mathematical and numerical calculations that are widely used in surveying, such as data processing, remote sensing image processing, and GIS.

In recent years, there has been a tremendous increase in information technology research and its combination with other fields to optimize solutions. One of the growing research areas is using object-oriented programming in surveying techniques, which is leaving the comfort zone of surveying. Globally, surveyors can use a number of survey computing programs (Hariparsad, 2015).

Some standard programming languages used in developing survey packages include FORTRAN, BASIC, Paschal, and C (Sepasgozar and Bernold, 2013). Nowadays, Visual Programming languages are commonly accessible in Geographic Information Systems. GIS is becoming popular among regional organizations and municipal and environmental specialists due to its capacity to manage spatial data. Spatial growth, tasks comparing different data, and spatial decision-making are the reasons for the growing interest in Geographic Information Systems. GIS users do not usually know the programming languages; they use the tool without knowing much about backend programming.  Some geographic information systems have data flow structures or modules for visual programming. Each geographic information system has a different name for visual programming components inside the user interface. For instance, ModelBuilder is the name of the component in ArcGIS software (Ham et al., 2016). This model is used for the set handling of data, and models are systems that series together the order of geoprocessing devices, serving the output of one instrument into another as an input. AutoCAD has the Workflow Designer component, which is a visual programming component.

Now look at object-oriented programming applied to geographic data and its future impact on GIS (McKinney and Cai, 2002). The core component of the geographic information system is the database management system, which allows GIS designers to build and maintain a complex software system. DBMS provides secure access to data, avoids its loss, and multiple users can access it. Relational database management systems are working successfully for small structured data, but a system like GIS, which integrates data from multiple sources into a single system, needs a powerful data model. The multiple tasks the GIS database system needs to manage are; real-world geometry treatment, conceptual presentation of the same data at different levels, history and version management, measurement of accuracy, and resolutions. Object-oriented designing is the method of modeling objects as they are perceived by Humans in reality. This approach models the behavior as well as the structure of the objects. The Object-oriented method parallels the mathematical logic of heterogeneous algebras or multi-sorted methods. From this model, the description of an object consists of a name of its type, a set of processes of its kind, and a bunch of axioms that correspond to the nature of the operation (Malczewski, 2004). Object-oriented programming languages will be the future of efficient GIS systems. The four basic concepts of the object-oriented data model are generalization, aggregation, classification, and association.

Generalization combines many classes of objects with similar operations into a general superclass. The superclass shows the type of objects that are related by a single (is-a) relation. Sometimes parent and child classes are used to differentiate between super and subclass. Because both classes are abstractions for the same thing, they do not represent two different objects. For Example, a Hotel is a building; the building is the parent or superclass of the hotel which is a subclass. The room in the hotel is an instance or object of both the classes; building and hotel.

Aggregation is the combination of objects that contain other instances to form a higher-level object known as a composite object or aggregate, and each has its functionality. Operations on parts are not compatible with the operations of aggregates. Since aggregated objects are pieces of aggregate, the relation built by aggregation is known as a part-of relation. For example, a town full of houses, parks, and streets; is all part of the town, and the town consists of them.

Association tells the relationship between two or more independent objects called set objects. For example, in the GIS domain, the associations are neighborhoods that narrate house lots with adjacent land parcels. Composing an object of a set into the set of objects of the member instance is a common practice.

Classification is the plotting of numerous entities onto a mutual class. In an object-oriented environment, every object has its corresponding class, i.e. every instance is the object of some class or maybe classes that’s why it’s called instance relationship. Same-class objects contain the same functions and have the same properties. For example, the model for the city may contain houses, hotels, and street classes. A single object such as a parcel can be the instance for every street (Enemark, Williamson, and Wallace, 2005).

Another compelling concept in object-orient programming is Inheritance. It can be a single inheritance or multiple inheritance. It consists of the parent class and child class which is derived from the parent class and has all the properties of the parent class along with its functions. It reduces redundancy and brings optimization to code. A child’s class can have multiple parent classes, which are called multiple inheritances (Mazzanti, Perissin, and Rocca, 2015). The GIS system uses complex multi-inheritance. Usually, a GIS system contains many classes, e.g. rivers, highways, cities, and their subclasses with the number of associated operations. For example, the construction or demolition of a road or building.  One of the goals of conceptual modeling is to identify similar objects and operations and work in a way that reduces redundancy. Inheritance is extremely useful in designing such models in geometric information systems, by defining a general parent class for each concept and inheriting subclasses with the same structure and properties from the superclasses of the GIS application (Sawaya, 2003).


Object-oriented database management systems must be utilized to treat the modeling potential and execution to supervise and save spatial data. The use of DBMS in spatial info systems will be good in different ways such as maintenance of GIS software will be better, and the life cycle will be improved, a unified set of functions for retrieving and storing data, the object-oriented method cluster these properties into perhaps complicated entities and processes (Malczewski, 2006).


  • Aggregation: It is the combination of objects that contain other instances to form a higher-level object known as a composite object or aggregate, and each has its functionality.
  • Association Tells the relationship between two or more independent objects called set objects.
  • Classification: It is the plotting of numerous entities onto a mutual class. In an object-oriented environment, every object has its corresponding class
  • DBMS: A database management system (DBMS) is a computer software application that uses applications, end-users, and the database to analyze and capture data.
  • Generalization: It combines many classes of objects with similar operations into a general superclass. The superclass shows the type of objects that are related by a single (is-a) relation.
  • GIS: A geographic information system (GIS) is a method for manipulating, capturing, managing, analyzing, storing, and presenting geographic or spatial data.
  • Object-Oriented Programming (OOP) is a form of computer programming (software design) in which the developer declares not only the data type of a data structure but also the types of functions that can be applied to it.
  • Object-Oriented Data Model: The four basic concepts of the object-oriented data model are: generalization, aggregation, classification, and association.


Adwan, E.J. and Al-Soufi, A., 2016. AReview OF ICT TECHNOLOGY IN CONSTRUCTION. International Journal of Managing Information Technology8(3/4), pp.1-21.

Barletta, W., Battaglia, M., Klute, M., Mangano, M., Prestemon, S., Rossi, L. and Skands, P., 2014. Future hadron colliders: From physics perspectives to technology R&D. Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment764, pp.352-368.

Camm, J.D., Chairman, T.E., Dill, F.A., Evans, J.R., Sweeney, D.J. and Wegryn, G.W., 1997. Blending OR/MS, judgment, and GIS: Restructuring P&G’s supply chain. Interfaces27(1), pp.128-142.

Cremers, A.B., Alda, S. and Radetzki, U., 2005. Towards Semantic Grid in Construction Informatics. In Proceedings of the 22nd International Conference Information Technology in Construction (CIB-W78).

Egenhofer, M.J. and Frank, A., 1992. Object-oriented modelling for GIS. Journal of the Urban and Regional Information Systems Association4(2), pp.3-19.

Enemark, S., Williamson, I. and Wallace, J., 2005. Building modern land administration systems in developed economies. Journal of Spatial Science50(2), pp.51-68.

Ham, Y., Han, K.K., Lin, J.J. and Golparvar-Fard, M., 2016. Visual monitoring of civil infrastructure systems via camera-equipped Unmanned Aerial Vehicles (UAVs): a review of related works. Visualization in Engineering4(1), p.1.

Hariprasad, S., 2015. Exploring industry’s contribution to curriculum design of Civil Engineering programmes at Universities of Technology: a case study of Durban University of Technology (Doctoral dissertation).

Kaufmann, J. and Steudler, D., 1998, July. A vision for a future cadastral system. In Working group (Vol. 1).

Malczewski, J., 2004. GIS-based land-use suitability analysis: a critical overview. Progress in planning62(1), pp.3-65.

Malczewski, J., 2006. GIS‐based multicriteria decision analysis: a survey of the literature. International journal of geographical information science20(7), pp.703-726.

Mazzanti, P., Perissin, D. and Rocca, A., 2015, July. Structural health monitoring of dams by advanced satellite SAR interferometry: investigation of past processes and future monitoring perspectives. In 7th Internation Conference on Structural Health Monitoring of Intelligent Infrastructure, Torino, Italy.

McKinney, D.C. and Cai, X., 2002. Linking GIS and water resources management models: an object-oriented method. Environmental Modelling & Software17(5), pp.413-425.

Sawaya, K.E., Olmanson, L.G., Heinert, N.J., Brezonik, P.L. and Bauer, M.E., 2003. Extending satellite remote sensing to local scales: land and water resource monitoring using high-resolution imagery. Remote sensing of Environment88(1-2), pp.144-156.

Sepasgozar, S.M. and Bernold, L.E., 2013. Factors Influencing Construction Technology Adoption. In 19th CIB World Building Congress, Brisbane.



Calculate Your Order

Standard price





Pop-up Message