Academic Master


Programming/ Linear Programming Essay


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 surveyor were less as compared to 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 benefitted the surveyor in term of accuracy and precision, time efficiency, workforce and consistency (Adwan and Al-Soufi, 2016).


As we know the old method of surveying is a tedious, time consuming and with less precision and it requires more workforce. It is tough to collect data from sites to process and make a systematic resource for further work. Surveyors need this data to make maps, contours, drawing etc. and also storing this data or maps was another challenge. But now with modern trends and technologies surveying is not that hard and it became 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 in the area of surveying. It reduces time cost by 20% and also requires less human efforts as compare to the traditional way (Barletta et al., 2014). To sustain the phase of prosperity in this industry, computers are the answer to do it with the wide range of software available in the market. One of the leading company, AUTODESK provides many soft wares 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 consists of the spreadsheet, which contains 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 document into AutoCAD. In non-conventional instruments, a total station is a visual tool used in recent surveying. It is a mixture of both 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, total station regulates the distance and angles. The coordinates of actual surveyed points and the position of the instrument are determined with the help of trigonometry and triangulation. After downloading data from theodolite, application software will create a map of the area. GPS interface is used in the total station and combine 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, Geographic Information System is used which permit us to understand, view, interpret, and question data which helps disclose trends, patterns and relationships in the form of globes, charts, maps, and reports.  Let us 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 US government started working on two projects, which laid the base for modern days 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#, PHP. C is a general-purpose programming language, used extensively in windows and IOS operating systems. It created by Dennis Ritchie at AT&T labs in 1972, and it is closely related to Unix Operating System. C Language is powerful, efficient structured language standardised by 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 system and compiler, application software, e.g. spreadsheets and databases, graphical application, e.g. mobile and computer games, 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 the C language functions along with classes, inheritance, in the lining and strong type checking. The objective was to introduce Object-Oriented Programming in C language. In 1983 more features like the const keyword, function overloading, virtual functions, the single lined command has been introduced in C++. Real world application of this language includes games, graphic user interface application, Scripting of web applications, high-level computations and graphics, database, operating system, 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 the core data types of str, list, dict, and others. After releasing several improved version, python released 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. Study of Barr Group showed Python is one of the most popular integrated languages in computer sciences to teach coding. Its open source freely used releases, even for commercial projects makes Python more favourable. It is a fastest growing programming language for an embedded system. In today’s agile environment reusability is the factor, which determines the future of a programming language, Python reusable feature out class C and C++. With complex libraries like Theano optimise Python code for complex embedded algorithms, e.g. neural networks. Python development speed is more than C/C++, but its runtime efficiency is less than 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 embedded system, it allows a user to automate testing. Python can assess real-world scenario.  Python scripts are used to extract data from various GIS files and surface raster.

Next, come in line is Java, in 1991, “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. Having this idea in mind, the engineers worked day and night to generate the programming language that would transform our world – Java, acquired by Oracle and developed by James Gosling in 1995 as a basic module of sun microsystem. The Green Team initially targeted at the digital cable TV business, established their new language with a collaborative, home-entertainment supervisor. But at the time the concept was not mature enough to take over digital cable industry, but it was a right idea for the internet. In 1995, Netscape Navigator Internet browser integrated java technologies. Today, Java not only is the unseen power behindhand numerous of the applications and devices that use in our daily life but also permeates the Internet. Java is everywhere whether it’s from games and navigation systems to e-business solutions or mobile phones to handheld devices. This revolutionary language has many real-time uses, type of applications developed using java are Mobile applications, Desktop GUI applications, embedded systems, enterprises applications, web and application servers and scientific applications. Java is the best language, chosen by many software developers for writing mathematical operations and applications involving scientific calculations. Java programs, have a higher degree of portability, low maintenance and are mostly considered to be fast and secure. For interacting user interface and as part of the core system, applications like MATLAB use Java. Because of Java reliability, compatibility and practicality, nine million developers are using it, and the Java’s popularity among other languages are highest. Java has contributed in surveying and mapping industry by developing software like gvSIG, a desktop application aimed for analysing, handling, storing, capturing and to solve complicated administration and planning problems, deploying any referenced geographic information. gvSIG is known for having an interactive front-end, and It provides an extensive variety of tools for functioning with the geographic-like material (layout creation, networks, geoprocessing, query tools etc.). The software is available for Windows, Mac and Linux platform.

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 widely used in surveying such as data processing, remote sensing image processing, and GIS.


Recent years have seen a tremendous increase in information technology research and its combination with another field to get optimise solutions. One of the growing research areas is using object-oriented programming in surveying techniques, leaving the comfort zone of surveying. Globally, surveyors can use the number of survey computing programs. (Hariparsad, 2015).

Some of the standard programming languages that have been used in developing survey packages include FORTRAN, BASIC, Paschal, and C (Sepasgozar and Bernold, 2013). Now a day, Visual Programming languages are commonly accessible in Geographic Information System. GIS is getting popular among regional organisations, municipal and environmental specialists for their capacity to manage spatial data. Spatial growth, task comparing different data and spatial decision-making are the reasons for growing interest in Geographic Information System. GIS users do not usually know the programming languages; they just use the tool without knowing much about backend programming.  Some of the geographic information systems have data flow structures or module 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 set handling of data, and models are systems that series together order of geoprocessing device, serving output of one instrument into another as an input. AutoCAD has the component Workflow Designer which is a visual programming component.

Now take a 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 database management system, and it allows GIS designers to build and maintain a complex software system. DBMS provides secure access to data, avoid its loss, and multiple users can access it. For small structured data, Relational database management systems are working successfully but a system like GIS which integrates data from multiple sources into the single system, need a powerful data model. The multiple task 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 modelling objects as they perceived by Humans in reality. This approach models the behaviour as well as a structure of the objects. The Object-oriented method closely parallels to the mathematical logic of heterogeneous algebras or multi-sorted method. From this model, the description of an object consists of a name of its type, a set of processes of its kind and the 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 the generalisation, 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 class and child class is used to differentiating between superclass and subclass. Because both the classes are the abstraction for the same thing, it does not represent two different objects. For Example, 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 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 build by aggregation is known as a part-of relation. For example, a town full of houses, parks, streets; are all part of town and town consist of them.

Association tells the relationship between two or more independent objects called set objects. For example, in GIS domain the associations are neighbourhoods, which narrates house lots with an adjacent land parcel. The decomposing of 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 on to 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 may be classes that’s why it’s called instance relationship. Same class objects contain same functions and have same properties. For example, the model for the city may contain houses, hotels and street classes. A single object such as 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 single inheritance or multiple inheritances. It consists of the parent class and child class which is derived from the parent class and has all the properties of parent class along with its functions. It reduces redundancy and brings optimisation in code. A child class can have multiple parent classes; this is called multiple inheritances (Mazzanti, Perissin and Rocca, 2015). The GIS system uses complex multi-inheritance. Usually, 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 road or building.  One of the goals of conceptual modelling 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 general parent class for each concept and inheriting subclasses with same structure and properties from superclasses of the GIS application (Sawaya, 2003).


.           Object-oriented database management system must be utilised to treat the modelling 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 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 on to a mutual class. In object-oriented environment, every object has its corresponding class
  • DBMS: A database management system (DBMS) is a computer software application that works together with applications, end-users, and the database itself to analyse 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 aimed to manipulate, capture, manage, analyse, store and present geographic or spatial data.
  • Object Oriente Programming: Object-oriented programming (OOP) states a form of computer programming (software design) in which developer declare not only the data type of a data structure but also the types of functions that can be applied to the data structure.
  • Object-Oriented Data Model: The four basic concepts of the object-oriented data model are: generalisation, 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