You are on page 1of 72

GIS BASED MODULES

A PROJECT REPORT

Submitted by
TEERTH VIPULKUMAR SATWARA

191260107097

In partial fulfilment for the award of the degree of

BACHELOR OF ENGINEERING

in

Computer Engineering

Sal Engineering and Technical Institute, Ahmedabad

Gujarat Technological University, Ahmedabad


April, 2023
SAL Education
SAL Engineering and Technical Institute
Ahmedabad

CERTIFICATE
This is to certify that the project report submitted along with the project entitled GIS Based
Modules has been carried out by Teerth Vipulkumar Satwara (191260107097) under
my guidance in partial fulfilment for the degree of Bachelor of Engineering in Computer
Engineering, 8th Semester of Gujarat Technological University, Ahmadabad during the
academic year 2022-23.

Prof. Neil Saxena Dr.Ajay Upadhyaya


Internal Guide Head of the Department
Team id: 310826

Sal Engineering and Technical Institute


Ahmedabad

DECLARATION

We hereby declare that the Internship report submitted along with the Internship entitled Bookstore

automation system submitted in partial fulfilment for the degree of Bachelor of Engineering in

Computer Engineering to Gujarat Technological University, Ahmedabad, is a bonafide record of

original project work carried out by me at Scanpoint Geomatics. ltd under the supervision of Mr.

Prashant Bhambhani and that no part of this report has been directly copied from any students’

reports or taken from any other source, without providing due reference.

Name of the Student Sign of Student

1 Teerth Vipulkumar Satwara

Gujarat Technological University i Sal Engineering and Technical Institute


Team id: 310826

Acknowledgement

I wish to express our sincere gratitude to our External guide Mr. Prashant Bhambhani for
continuously guiding me at the company and answering all my doubts with patience. I
would also like to thank my Internal Guide Prof. Neil Saxena for helping us through our
internship by giving us the necessary suggestions and advices along with their valuable
co-ordination in completing this internship.

We also thank our parents, friends and all the members of the family for their precious
support and encouragement which they had provided in completion of our work. In
addition to that, we would also like to mention the company personals who gave us the
permission to use and experience the valuable resources required for the internship.

Thus, in conclusion to the above said, I once again thank the staff members of Scanpoint
Geomatics for their valuable support in completion of the project.

Thank You.

Gujarat Technological University ii Sal Engineering and Technical Institute


Team id: 310826

Abstract
Firstly, I learnt basic concepts of C++ language and various features of this. C++ is a
general purpose, case-sensitive, free-form programming language that supports object-
oriented, procedural and generic programming. C++ supports the object-oriented
programming.

C++ includes topics like control statements, objects and classes, inheritance, constructor,
destructor, this, static, polymorphism, abstraction, abstract class, interface, namespace,
encapsulation, arrays, strings, exception handling, File IO, etc.

Four major pillars of object-oriented programming (OOPs) used in C++ are:

1. Inheritance
2. Polymorphism
3. Encapsulation
4. Abstraction

The Microsoft Foundation Class (MFC) Library provides an object-oriented wrapper over
much of the Win32 and COM APIs. Although it can be used to create very simple desktop
applications, it is most useful when you need to develop more complex user interfaces with
multiple controls. You can use MFC to create applications with Office-style user interfaces.
For information on building Windows applications in C++ without MFC, see Build desktop
Windows apps using the Win32 API.

The MFC Reference covers the classes, global functions, global variables, and macros that
make up the Microsoft Foundation Class Library.

The individual hierarchy charts included with each class are useful for locating base classes.
The MFC Reference usually does not describe inherited member functions or inherited
operators. For information on these functions, refer to the base classes depicted in the
hierarchy diagrams.

Gujarat Technological University iii Sal Engineering and Technical Institute


Team id: 310826

The documentation for each class includes a class overview, a member summary by
category, and topics for the member functions, overloaded operators, and data members.
Public and protected class members are documented only when they are normally used in
application programs or derived classes. See the class header files for a complete listing of
class members.

With the help of MFC, I created GUI for GIS BASED MODULES as my final project

Important

The MFC classes and their members cannot be used in applications that execute in the
Windows Runtime environment.

Gujarat Technological University iv Sal Engineering and Technical Institute


Team id: 310826

LIST OF FIGURES

Figure 2.3.1 Sequence of operation followed…………………………...6


Figure 5.1 Waterfall Model…………………………………………..21
Figure 6.1 GUI Gaussian Enhancement……………………………...25
Figure 6.2 AOI Options(Spatial Subset)……………………………..27
Figure 6.3 AOI Options(Mask Image)……………………………….27
Figure 6.4 AOI Options(Mask Theme)………………………………28
Figure 6.5 Save/Restore Parameters…………………………………29
Figure 6.6 Save Inputs………………………………………………..29
Figure 6.7 Manage Input Parameters Dialog………………………...30
Figure 6.8 Gaussian image enhancement output……………………..31
Figure 6.9 GUI of Void Removal Module…………………………...32
Figure 6.10 Void Removal Module Output…………………………...35
Figure 6.11 GUI of Math Tool………………………………………...37
Figure 6.12 GUI of Subset Using Polygon……………………………43
Figure 6.13 Subset Output Using Polygon…………………………….45
Figure 6.14 GUI of Join Features……………………………………...46
Figure 6.15 Input Shape File of Taluk………………………………..49
Figure 6.16 GUI of Polygon Numbering Using Line Theme…………50
Figure 6.17 Output File (Using Buffer Method)………………………52
Figure 6.18 Output File (Without Using Buffer Method)……………..52
Figure 6.19 Dialog Module of Create Polygon Boundary…………….53
Figure 6.20 Input Screen of Create Polygon Boundary……………….54
Figure 6.21 Output Screen of Create Polygon Boundary……………..54

Gujarat Technological University v Sal Engineering and Technical Institute


Team id: 310826

LIST OF TABLES

Table 3.1 Summary Table………………………………………….....17

Table 6.1 General Arithmetic Functions for Image Processing……….38


Table 6.2 Bitwise Functions for Image Processing……………………39

Table 6.3 Logical Functions for Image Processing……………………40

Table 6.4 Trigonometric Functions for Image Processing…………….41

Gujarat Technological University vi Sal Engineering and Technical Institute


Team id: 310826

ABBREVIATIONS/ NOTATIONS/ NOMENCLATURE


API Application Programming Interface
COM Component Object Model
CAD Computer Aided Design
DLL Dynamic-link Library
DBMS Database Management System
DEM Digital Elevation Model
DN Digital Number
GIS Geographic Information System
GUI Graphical User Interface
IO Input-Output
IGIS Integrated Geographic Information System
IP Image Processing
IDE Integrates Development Environment
LRX Left-Right X
LRY Left-Right Y
MDI Multiple Document Interface
MFC Microsoft Foundation Class
OOP Object-Oriented Programming
RISAT -1 SAR Radar Imaging Satellite – 1 Synthetic Aperature Radiometer
RDBMS Relational Database Management system
RVI Remote Visual Inspection
SLC Single Look Complex
SDI Single Document Interface
ULX Upper-Left X
ULY Upper-Rigth Y

Gujarat Technological University vii Sal Engineering and Technical Institute


Team id: 310826

Table of Contents

Acknowledgement ................................................................................................ii
Abstract .............................................................................................................. iii
List Of Figures...................................................................................................... v
List Of Table .......................................................................................................vi
List Of Abbreviation……………………………………………………………vii
Table Of Contents............................................................................................. viii
Chapter 1: Company Overview ........................................................................ 1
1.1 About The Company .................................................................................... 1
1.2 Aim and Objective of the Internship…………………………………….....2
Chapter 2: Overview of the departments of organization and layout of the
production/process being carried out in company ......................................... 3
2.1 Work in each department ............................................................................. 3
2.2 Technical Specification of Technologies Used in Department .................... 5
2.3 Schematic layout showing sequence of operation for manufacturing ......... 6
2.4 Detailed explanation of each stage of production. ....................................... 6
Chapter 3: Introduction ..................................................................................... 8
3.1 Purpose......................................................................................................... 8
3.2 Objectives .................................................................................................... 9
3.3 Scope ............................................................................................................ 10
3.4 Technology and Literature Review ............................................................ 11
3.5 Project Planning ......................................................................................... 15
3.6 Summary Table …………………………………………………………..17
Chapter 4: System Analysis ............................................................................. 20
4.1 Study of Current System ............................................................................ 20
4.2 Study of New System................................................................................. 20
4.3 System Feasibility ...................................................................................... 20
4.4 List Main Modules ..................................................................................... 21
Chapter 5: System Design ................................................................................ 22
5.1 System Design and Methodology .............................................................. 22
5.1.1 Research Methodology ......................................................................... 22
5.1.2 System Development Methodology ..................................................... 22
Chapter 6: Implementation ............................................................................. 24

Gujarat Technological University viii Sal Engineering and Technical Institute


Team id: 310826
6.1 Views ......................................................................................................... 24
6.1.1 Technology ........................................................................................... 24
6.2 Project Screenshots .................................................................................... 25
Chapter 7: Testing ............................................................................................ 55
7.1 Phases ......................................................................................................... 55
7.2 Manual and Automated Testing ................................................................. 55
7.3 White Box Testing ..................................................................................... 56
Chapter 8: Conclusion & Discussion .............................................................. 57
8.1 Overall analysis of the Internship .............................................................. 57
8.2 Photographs and date of surprise visit by institute mentor ....................... 58
8.3 Dates of Continuous Evaluation (CE-I and CE-II) ................................... 58
8.4 Summary .................................................................................................. 59
8.5 References ................................................................................................. 60

Gujarat Technological University ix Sal Engineering and Technical Institute


Team id: 310826

CHAPTER 1: COMPANY OVERVIEW

1.1 About the company.

Who we are?

We pioneer the nation’s geospatial domain through IGiS - an indigenous technology


which brings GIS, Image Processing, Photogrammetry, and CAD together on the
same platform. At SGL, we share more with you that the products we offer. We also
share your drive to solve complex GIS problems, increase your yield and enable your
next geospatial technology platform. Our deep understanding of Geospatial industry
and the breadth of solutions we offer, make us uniquely qualified to cater your needs.

What we do?
Makers of IGiS - an indigenous technology which brings GIS, Image Processing,
Photogrammetry, and CAD together on a single platform.

IGiS caters to a multitude of solutions across industries like Agriculture, Defence,


Forestry, Disaster Management, Land Information, Mining, Power, Smart City,
Urban Planning, Utilities and Location Based Service.

How we do it?

We are most proud of our technology development partnership with ISRO in the
search for the best solutions and approaches for the products we make. Our
partnership ensures that our customers can access the latest advances in GIS, Image
Processing, Photogrammetry, and CAD. Backed by ISRO’s domain expertise, we aim
to push forth innovation and uplift the global geospatial domain.

Gujarat Technological University 1 Sal Engineering and Technical Institute


Team id: 310826

1.2 Aim and objective of the internship.

 An internship is a purposeful activity of the student set in a work environment in


order to obtainlearning outcomes within their curriculum. During the internship, the
knowledge, skills, and attitudes learned in the program can be applied.

 The aim of the internship provides a direction to the activities, helps to focus on a
result, and toassess the result achieved.

 Before going on the internship, two important factors guiding your development
should be takeninto account when formulating the aim:

1. Connecting what you have learned (theoretical and practical knowledge on


your subject field)with actual work experience, in order to complement your field
specific skills and learn new ones.

2. Apply and analyze at least one future skill .

 There can be one or two aims, but both development of field specific
skills as well as futureskills have to be represented.

Gujarat Technological University 2 Sal Engineering and Technical Institute


Team id: 310826 Overview

CHAPTER 2:
OVERVIEW OF THE DEPARTMENTS OF
ORGANIZATION AND LAYOUT OF THE
PRODUCTION/PROCESS BEING CARRIED
OUT IN COMPANY
2.1 Work in each department

Being a trainee at the organization, it is very difficult to understand the working of


each and everydepartment that is present in the organization.

 Accounts.

 Business Development

 Business Strategy.

 Product Development.

 Marketing.

 Executive and Admin.

 Management.

 GIS Solution.

 uman Resource.

 IT System.

 Product Management.

As Intern to the core Product Development, following is the work that is Performed in the
department:

Core Product Developers are who are proficient in both front back-end coding. Their
primary responsibilities include designing modules, developing servers, databases, and

Gujarat Technological University 3 Sal Engineering and Technical Institute


Team id: 310826 Overview

coding for IGIS Software.

Further division of the department includes:


 Artificial Intelligence/Machine Learning.
 Big Data
 BIM
 Database
 Image Processing
 Mobile Development - 
 Designing user interaction on web pages

Gujarat Technological University 4 Sal Engineering and Technical Institute


Team id: 310826 Overview

2.2 Technical Specification of Technologies Used in Department


1. Programming languages: There are plethora of programming languages used
my developers here based on their sub-department. For eg. Core developers use
C++, Web developers use .Net, javascript, mobile developers use java, kotlin, swift
while various machine Learning processes are done in python.

2. Development frameworks and third-party libraries: Programming languages are


generally accompanied by a good development framework like Node.js, React and
MFC. Therefore, it is essential for full stack developers to understand the
development frameworks and third-party libraries.

3. Front-end technology: For Front-end in core development, we use MFC.

4. Database and cache: Database is managed with Postgres as it provides PostGis


which is open-source database for GIS.

5. Basic design ability: When it comes to basic design utility, it is crucial for full
stack developers tounderstand the basic principles and skills of prototype design,
UX and UI design.

Gujarat Technological University 5 Sal Engineering and Technical Institute


Team id: 310826 Overview

2.3 Schematic layout showing sequence of operation for


manufacturing the endproduct.

Fig 2.3.1 Sequence of Operation followed

The systems development life cycle allows lowering the complexity usual for developing
a proposed system from scratch. Thus, it is critical to implement SDLC since it helps to
convert ideas of projects into functional and completely operational structures. Apart
covering various technical aspects regarding system development, SDLC is efficient for
process development, change management, or user experience. Another great advantage of
SDLC is that it promotes planning ahead of time and allows defining costs and staffing
decisions, identifying goals, measuringsystem performance, and validating points at all
phases of the development life cycle to improve thequality of the end product.

2.4 Detailed explanation of each stage of production.


1. Gathering & Analysis of Requirement: Before the team of software technicians
can cough up

the general idea for any software, it is essential for the team to gather the business
requirements in this very first phase. There are several questions to be asked at this stage,
which include:
 Who is supposed to use this software?

 How will the software be used upon completion?

Gujarat Technological University 6 Sal Engineering and Technical Institute


Team id: 310826 Overview

 What type of data should be added to the software?

 What should be the data output by this software?

2. Design: This is the next phase for the software development process. In this
stage, the draft design is prepared for the software from the stage-1 requirement
specifications. The system designs help in specifying the hardware as well as system
requirements. It also helps with the definition of an overall system in software
architecture.
3. Coding & Implementation: After receiving the design documents for the
software to be created,the work following the design stage is divided equally into
various units and modules. This is the stage where actual coding begins.
4. Testing: If you want to know what is software development; you can never
skip understanding the testing stage. This particular stage is very crucial for the
developers. If anything goes wrong in the testing stage or any error is noted in the
codes, it can lead to the repetition of the coding process,and the cycle goes on till
the completion of the same.
5. Deployment Stage: After all the errors from coding are removed during the
testing stage, the next step is termed as the deployment stage. The finalized code is
implemented into the software and then deployed or delivered to the customers to
be used.
6. Maintenance: Once the customers start using well-developed software, the
actual issues start surfacing with time. This doesn’t mean that the software will get
corrupted.

Gujarat Technological University 7 Sal Engineering and Technical Institute


Team id: 310826 Introduction

CHAPTER 3: INTRODUCTION

This chapter starts with a high-level overview of the project. It then describes the specific
aims andobjectives of the project.

3.1 Purpose

IGiS aims to redefine the GIS industry with integrated GIS and Image Processing
capabilities with advanced analysis extensions on a single platform. Being an OGC
compliant platform, makes it easy to collaborate in heterogeneous environment.
Standardized UI and ribbon-based navigation makes it easy to use and adapt.

Advanced Geo-Processing

IGiS has advanced tools for GIS data conversion, analysis, and visualization. Advance
geospatial users can effectively use tools like Topology creation, Geo-processing, overlay
analysis, attribute query builder for desired analysis and output.

Efficient Image Processing

IGiS has a rich array of tools and analytical models to analyse and process images. It can
manage a multitude of image sources like aerial, satellite, optical, microwave, LIDAR,
stereo, GPR, and more. Through smart modelling techniques, IGiS efficiently visualises,
analyses, and processes image data, identify patterns, explore changes over time, and carry
out scientific analysis to understand spatial relationships.

Manage and Analyse Data Seamlessly

IGiS enables you to store, manage, and edit geospatial data seamlessly. It is a
comprehensive tool that supports data integration for a wide range of geospatial data
formats including real-time sensor data and big data. Compliance to OGC Standards enables
you to store and share data through privileged authentication.

Gujarat Technological University 8 Sal Engineering and Technical Institute


Team id: 310826 Introduction

IGiS Desktop for Developers

Developers get complete control over customization to build and deploy GIS applications.
We provide an Integrated Development Environment (IDE) and a Software Development
Kit with rich API libraries. It enables a diverse range of features like GUI customization,
scripting support, macro recordings and COM controls on various programming platforms.

3.2 Objectives

The objectives of GIS modules (geographic information system modules) are to provide
tools and functionalities for managing, analyzing, visualizing, and sharing geospatial data.
Some specific objectives of GIS modules may include:

Data Management: GIS modules allow users to manage and organize various types of
geospatial data, including vector and raster datasets, GPS data, satellite imagery, and more.

Spatial Analysis: GIS modules provide tools for performing various spatial analysis tasks,
such as overlay analysis, proximity analysis, spatial statistics, and modeling.

Visualization: GIS modules enable users to create and display various types of maps and
other geospatial visualizations, including thematic maps, 3D maps, and interactive maps.

Data Sharing and Collaboration: GIS modules allow users to share geospatial data with
others, either by exporting data in various formats or by publishing maps and other
visualizations online.

Decision Making: GIS modules can help users make informed decisions based on
geospatial data, by providing tools for scenario modeling, risk assessment, and impact
analysis.

Overall, the objectives of GIS modules are to provide users with the tools and functionalities
needed to effectively manage, analyze, and utilize geospatial data for a variety of purposes,
across many different fields and industries.

Gujarat Technological University 9 Sal Engineering and Technical Institute


Team id: 310826 Introduction

3.1 Scope
GIS modules are geographic information system (GIS) software modules. Their scope is to
provide a user-friendly, cross-platform application for creating, editing, visualizing,
analyzing, and publishing geospatial data.

GIS modules support various vector and raster data formats, including shapefiles,
geodatabases, GeoJSON, GeoTIFF, and many others. They also provide powerful tools for
spatial analysis, such as geoprocessing, spatial queries, spatial statistics, and map algebra.

GIS modules also include a comprehensive set of cartographic tools to create professional-
quality maps, including label placement, map elements, and symbology. They support
various projections and coordinate systems and allow users to create custom coordinate
systems if needed.

In summary, the scope of GIS modules is quite broad and can be used for various purposes,
including data visualization, spatial analysis, and map creation in many different fields,
such as environmental science, urban planning, natural resource management, and more.

Gujarat Technological University 10 Sal Engineering and Technical Institute


Team id: 310826 Introduction

3.4 Technology and Literature Review


FRONT END

MFC
Microsoft Foundation Classes (MFC) is a C++ library used for developing Windows
desktop applications. It provides a framework of classes and functions that simplify the
process of creating Windows applications and handles much of the low-level operating
system details, such as user input, message handling, and window management.

MFC is designed to be used with Microsoft's Visual Studio development environment, and
it includes a set of wizards and templates to help developers quickly create MFC-based
applications. MFC also includes a large number of pre-built controls and user interface
elements, such as buttons, dialogs, and menus, that can be easily customized and extended.

Some of the key features of MFC include:

 Window Management: MFC provides a set of classes for managing windows and user
interface elements, including windows, dialogs, and controls.

 Event Handling: MFC includes a message loop and event handling system that
simplifies the process of handling user input and responding to events.

 Document/View Architecture: MFC provides a framework for creating applications


that follow the document/view architecture, where each document is associated with a view
and can be displayed and edited in a separate window.

 Serialization: MFC includes support for serializing and deserializing objects, making
it easier to save and load application data.

Overall, MFC provides a powerful and flexible framework for developing Windows
desktop applications using C++. Its pre-built controls and user interface elements, combined
with its simplified event handling and window management, make it a popular choice for

Gujarat Technological University 11 Sal Engineering and Technical Institute


Team id: 310826 Introduction

many developers.

can tailor the presentation appropriately for each medium. The style sheet with the highest
priority controls the content display. Declarations not set in the highest priority source are
passed on to a source of lower priority, such as the user agent style. The process is called
cascading.

BACK END

Backend is entirely based on the concept of C++ and Windows.

POSTGRESQL & POSTGIS

PostgreSQL, commonly known as Postgres, is a powerful open-source relational


database management system (RDBMS). It is known for its stability, reliability, and
advanced features.

Postgres supports a wide range of features, including support for ACID transactions,
table partitioning, advanced indexing, and full-text search. It also includes support for
JSON and other semi-structured data types, making it a popular choice for modern
web and mobile applications.

PostGIS is a spatial database extender for Postgres that adds support for geographic
objects and spatial functions. It allows users to store and manage spatial data such as
points, lines, and polygons, and perform spatial operations such as intersection,
buffer, and distance calculations. PostGIS also supports advanced spatial features
such as topology, 3D, and network analysis.

Some key features of Postgres and PostGIS include:

 Open-source: Both Postgres and PostGIS are open-source software, which


means they are free to use, modify, and distribute.

Gujarat Technological University 12 Sal Engineering and Technical Institute


Team id: 310826 Introduction

 High performance: Postgres is designed for high performance, with support for
multi-core processors and advanced indexing techniques that can speed up
queries.

 Extensible: Postgres is highly extensible, with support for a wide range of


extensions and add-ons, including PostGIS for spatial data.

 Advanced security: Postgres has advanced security features such as SSL


encryption, role-based access control, and row-level security.

 Cross-platform support: Postgres and PostGIS are available on a wide range of


platforms, including Windows, Linux, and macOS.

Literature Review

This literature review summarizes some of the recent studies on QGIS and its use in
different domains.

 Use of QGIS in Agriculture:

A study conducted by Aparicio, et al. (2020) demonstrated the use of QGIS in agriculture
for land use mapping and crop yield estimation. The study showed that QGIS can be an
effective tool for land use mapping and crop yield estimation, which can help farmers
optimize their resources and increase their yields.

 Use of QGIS in Environmental Studies:

A study conducted by Ali and Abdelgadir (2019) showed that QGIS can be used to assess
the environmental impact of mining activities. The study demonstrated the use of QGIS in
mapping and analyzing the impact of mining activities on the environment, and highlighted
the software's ability to handle large datasets.

 Use of QGIS in Urban Planning:

A study conducted by Balakrishnan, et al. (2020) demonstrated the use of QGIS in urban

Gujarat Technological University 13 Sal Engineering and Technical Institute


Team id: 310826 Introduction

planning for land use mapping and transportation planning. The study showed that QGIS
can be used to analyze transportation networks and optimize land use patterns, which can
help urban planners make informed decisions.

 Use of QGIS in Archaeology:

A study conducted by Bubenzer and Bolten (2019) demonstrated the use of QGIS in
archaeology for mapping and analyzing ancient settlements. The study showed that QGIS
can be used to analyze the spatial distribution of archaeological sites and map the changes
in settlement patterns over time.

Gujarat Technological University 14 Sal Engineering and Technical Institute


Team id: 310826 Introduction

3.5 Project Planning

IGiS is a Geomatics application software that gives the power to visualize the spatial data
(Raster & Vector ) geographically and to manipulate data (raster and vector) for standard
analysis. It facilitates the end user to create maps, images and provides all the tools needed
to put data on a map and display it in an effective manner. It helps to solve the geo-locational
and attribute based queries, present the results of work in the form of publication-quality
maps and to create interactive displays that link reports, graphs, tables, drawings,
photographs, and other elements to the data.

It can be easily customized in order to tailor the interface to suit the needs of the
organization, build new tools to automate the work, and develop standalone applications
based on mapping components. The modules are made available in the form of a library of
reusable components for further re engineering. These modules in IGiS adopted the COM
technology to make the customization more flexible in compare to the previous version of
IGiS. In addition to this, this version provides two type of user interface i.e. Ribbon Bar and
Classic View. This version of IGiS also includes the additional modules like RISAT-1 SAR
modules for the processing of RISAT-1 SAR data and MetGIS modules for the metrological
analysis.

3.5.2 Project Justification

The modules provide a set of Geographical Information System (GIS) and Image
Processing (IP) functionalities for raster and vector data visualization and processing along
with Advanced Modules namely Network Analyst, Terrain Analyst, 3D Modeling and
Neural Network. It provides functions for creation and digitization of vector data, Image
Processing of raster data using traditional and innovative algorithms, Analyzing,
Visualizing and processing of the spatial databases – raster and vector, use queries to derive
a subset of data for further use in analysis, production and output of maps and customize
the software to develop new domain specific applications.

Gujarat Technological University 15 Sal Engineering and Technical Institute


Team id: 310826 Introduction

3.5.2 Cost estimation of the project


Software cost comprises a small percentage of overall computer-based system cost.
There are a number of factors, which are considered, that can affect the ultimate cost
of the software such as – human, technical, Hardware and Software availability etc.
The main point that was considered during the cost estimation of project was its sizing.
In spite of complete software sizing, function point and approximate lines of code were
also used to “size” eachelement of the Software and their costing.
The cost estimation done by me for Project also depend upon the baseline metrics
collected from past projects and these were used in conjunction with estimation
variables to develop cost and effortprojections.
We have basically estimated this project mainly on two bases –

1) Effort Estimation – This refers to the total man-hours required for the
development of the project.It even includes the time required for doing documentation
and user manual.

2) Hardware Required Estimation – This includes the cost of the PCs and the
hardware cost required for development of this project.

3.5.3 Roles and Responsibilities


During the 12 weeks of my internship at Scanpoint Geomatics, I was appointed as a
core product development intern. I had performed several mini tasks and a project
called GIS Modules.
I also gathered some knowledge about my project and create it. A successful project
requires the project team to participate (at some level) in the planning process, buy-in
to the project plan, and beresponsible for completion of assignments. It is important to
have a defined formal structure for theproject. This provides each individual with a
clear understanding of the authority given and responsibility necessary for the
successful accomplishment of project activities. This sectiondescribes the typical roles
and responsibilities for projects. Roles may be assigned to one or more individuals.
Conversely, individuals may have one or more roles on a project.

Gujarat Technological University 16 Sal Engineering and Technical Institute


Team id: 310826 Introduction

3.6 Summary Table


Week 1  Basic knowledge of computers and
C++.
 Understanding the language of
computers -> Binary.
 Forming semantics of logical
sentences using ‘and’ & ‘or’.
 Understanding data types and
memory given to them
 Solving several questions
 String manipulation

Week 2  Functions and types of Functions.


 Regular Expression
 File Handling
Week 3  Object Oriented Programming
concepts.
 Vectors and questions on matrices.
 Standard template Library.
Week 4  C++ geometry Library.
 Convolution of Image (Processing).
 Basics of MFC
Week 5  Made basic typing practice
application using MFC control.
 Created Demo Form Application.
 Created various MFC application for
File Handling.
Week 6  Multiple Threading.
 Final Application using controls

Gujarat Technological University 17 Sal Engineering and Technical Institute


Team id: 310826 Introduction

 First GIS module- Gaussian


Enhancement
Week 7  Reading about DLLs from various
sources.
 Replicate Math tool.
 Reading CSV file and segregating
odd and even numbers and displaying
them simultaneously with the use of
threading.
Week 8  Practically implementing concept of
DLLs.
 DLL with dialog.
 Methods to create DLLs.

Week 9  Static Library connection.


 Batch Scripting
 Inter Process Communication using
Create Process
 Fourth GIS Module – Subset using
Vector Polygon

Week 10  Data Transfer from parent to child and


vice-versa using Create Process and Pipe.
 Various advance C++ and OS concepts
such as Object Slicing, Smart Pointers
and Thread Synchronization.
 3. 5th GIS Module – Join Feature.

Week 11  Introduction to SDI and MDI.


 Application based on SDI and MDI.
 GIS Module – Polygon Numbering
 4. Basics of Postgres/SQL.

Week 12  Make SDI Drawing Tool and


connect it to Database. Save each
drawing in database and retrieve it
from the Database.
 PostGIS

Gujarat Technological University 18 Sal Engineering and Technical Institute


Team id: 310826 Introduction

 Component Object Model.


 Final GIS Module – Polygon
Boundary.

Gujarat Technological University 19 Sal Engineering and Technical Institute


Team id: 310826 System Analysis

CHAPTER 4: SYSTEM ANALYSIS

4.1 Study of Current System

Before GIS software, geospatial data was managed through traditional paper maps and
manual processes. Situation before GIS software:
 Data Management: Before GIS software, geospatial data was stored in traditional
paper maps or in separate databases. This made it difficult to integrate and analyze
the data.
 Analysis: Before GIS software, geospatial analysis was done through manual
processes such as overlaying maps or physically measuring distances. This was a
time-consuming and error-prone process.
 Visualization: Before GIS software, geospatial data was typically presented
through traditional paper maps or charts.
 Accessibility: Before GIS software, geospatial data was typically only accessible to
trained professionals with access to specialized tools and equipment.

4.2 Study of New System

GIS (Geographic Information System) has revolutionized the way we capture, store,
analyze, and visualize geospatial data security and reduces the manual work. Situation after
GIS software:
 Data management: With the development of GIS software, geospatial data can be
stored in a digital format and managed through a central database, making it easier
to access, manipulate, and analyze.
 Analysis: With the development of GIS software, geospatial analysis can be done
through a range of tools and algorithms that automate the process and provide
accurate and reliable results.

 Visualization: With the development of GIS software, geospatial data can be


visualized in a wide range of formats, including 3D models, interactive maps, and
dynamic visualizations.
 Accessibility: With the development of GIS software, geospatial data has become
more accessible to a wider range of users, including researchers, policymakers, and

Gujarat Technological University 20 Sal Engineering and Technical Institute


Team id: 310826 System Analysis

the general public.

4.3 System Feasibility


Feasibility study is the measure of how beneficial or practical the development of an
information system will be to an organization. The Feasibility analysis is a cross life
cycle activity and should be continuously performed throughout the system life cycle.
Feasibility tests:
1) Operational Feasibility
2) Technical Feasibility
3) Economical Feasibility
4) Schedule Feasibility

4.4 List Main Modules


There are seven Modules:
 Image Enhancement – Gaussian
 Void Removal
 Math Tool
 Subset using Vector
 Join Feature
 Polygon Numbering: Using Line Theme
 Polygon Boundary

Gujarat Technological University 21 Sal Engineering and Technical Institute


Team id: 310826 System Design

CHAPTER 5: SYSTEM DESIGN

5.1 System Design & Methodology


This chapter of the report aims to provide a clear vision on methods and methodologies
used for thisproject. In first, it describes the methodology and methods selected for the
research and gives rational why these methods and methodology have been used. Then
it discusses about software development methodology and give rational for it.

5.1.1 Research Methodology


Research is "a scientific and systematic search for pertinent information on a specific
topic" (Kothari, 2004). The research methodology is a process used to collect
information and data for the purpose of making decisions. There are broadly two
approaches for conducting research. Those are:
1) Quantitative analysis:
For developing the system, combined method has been applied. A systematic approach
should be used for conducting any research to find the solution of the problem in
systematic way. For this purpose, the research methods have been applied based on
waterfall model.

Fig 5.1 Waterfall model

Gujarat Technological University 22 Sal Engineering and Technical Institute


Team id: 310826 System Design

5.1.2 System Development Methodology


For developing any information system, a System Development Methodology should
be used whichwill provide a structured way for development of an IT based systems.
SDLC refers to System or Software Design Life Cycle. It is phases of processes taken
down to build a system properly. The main aim of SDLC process is to help provide a
system that is effective, cost-efficient, and of high quality. SDLC methodologies
typically has the following stages:

 Analysis (requirements and design)


 Construction
 Testing
 Release
 maintenance(response).

But the phases can be changed in deferent SDLC mythologies. There are many
software developments models for different types of projects.

Gujarat Technological University 23 Sal Engineering and Technical Institute


Team id: 310826 Implementation

CHAPTER 6: IMPLEMENTATION

6.1 Views

A system for end-to-end processing (capture, storage, retrieval, analysis, display) of data
using location on the earth’s surface for interrelation in support of operations management,
decision making, and science.

6.1.1 Technology
Front End (User Interface)
• MFC
Server-side language, Backend
• C++Datbase

• PostgreSql
Editor
• Visual Studio

Gujarat Technological University 24 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2 Project Screenshots

6.2.1 Image Enhancement – Gaussian

6.2.1.1 Description

This function adjusts the range of the lookup table so the output histogram approximates a
Gaussian or normal distribution curve. GUI of Gaussian Enhancement

6.2.1.2 GUI of Gaussian Enhancement

Figure 6.1 – GUI Gaussian Enhancement

Gujarat Technological University 25 Sal Engineering and Technical Institute


Team id: 310826 Testing

Steps to perform Gaussian Enhancement:


1. Select Image Processing – > Enhancement – > Gaussian

2. Specify or browse Input Image file name. ‘Width’, ‘Height’, ‘Bands’, ‘Data Type’
will display information of the input image file. (You can also select the recent
files by right clicking on the browse button.)

3. Processing Options

a) Select PCT to use color table values (R,G,B) for performing the process.

b) Select DN Value to use the color index values for performing the process. Note

NOTE : Color Table Option will be enabled only if the input image contains the
color table

4. Output Options

a) Specify or browse Output Image file name.


b) User can perform three types of Subset Options for the processing of data :
 Spatial Subset
 Mask Image
 Mask Theme

In Spatial Subset option, user can select the Map or File Coordinate Type.
The ULX, ULY, LRX, LRY values represent the Upper Left (X, Y) & Lower Right
(X, Y) coordinates of the image.

Gujarat Technological University 26 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.2 – AOI Options(Spatial Subset)

User can also select From Inquire box button to get the coordinate values (ULX, ULY,
LRX, and LRY) of the input image. (To create the AOI, select Image –> Inquire Box and
place the inquire box to desired location and extent on the input image). User can click on
Reset Button to retrieve the map/file coordinates of the input image.

In Mask Image option, user can perform two types of masking i.e. Inner Masking and Outer
Masking. In each type of masking, user has to browse the mask image and provide the Mask
Data (pixel value of selected mask image) as per the selected Mask Layer as shown below:

Figure 6.3 – AOI Options(Mask Image)

In Mask Theme option, user can perform two types of masking i.e. Inner
Mask and Outer Mask. In each type of mask, user has to select the mask theme from
the Theme List as shown below:

Gujarat Technological University 27 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.4 – AOI Options(Mask Theme)

 To specify Spectral Subset for output image, click on Band Selection Button.
Select number of bands required. Select OK button to apply selected band
for output image or Cancel button to cancel band selection

 If you want to select all bands then directly select, Select All button and to
clear selection, select Clear button.

 Select Output Type of the image.

5. User can save, restore and manage the provided input parameters by using the
Save/Restore Parameters option.

Gujarat Technological University 28 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.5 – Save/Restore Parameters

User can click on Save option to save the input parameters as shown:

Figure 6.6 – Save Inputs

The Manage option is useful in managing the parameters. One can edit,
delete, set parameters as default and restore the selected parameter.

Gujarat Technological University 29 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.7 – Manage Input Parameters Dialog

Note: The Gray color row represent the default system parameter (Native Parameter of the
module) and yellow color row represents the user defined default parameter.

6. Select OK button to complete task or select Cancel button to exit.

7. After you have started the process using OK button if you want to stop processing in-
between then select Stop button.

Gujarat Technological University 30 Sal Engineering and Technical Institute


Team id: 310826 Testing

Output image for the input dataset mentioned in above GUI

Figure 6.8 – Guassian image enhancement output

Gujarat Technological University 31 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.2 Void Removal

6.2.2.1 Introduction to Void Removal


Void removal tool helps to fill the value in the void pixels by using input DEM image or
by other DEM image with a specified method.

Input Details:
The input data for this module must be any Raster data in .tif, .img, .hdr formats.

Output Details: The resultant output image data will be saved in the user specified location.

6.2.2.2 GUI of Void Removal

Figure 6.9 –GUI of Void Removal Module

Gujarat Technological University 32 Sal Engineering and Technical Institute


Team id: 310826 Testing

Steps to generate Void Removal image from input DEM image:

1. Open Module: Advanced Modules > Terrain Analysis > Void Removal.
The respective window should open.

2. Input Options: Browse and select the Input Image file. The selected
image will be displayed and its associated fields like image height, width,
band and data type will also be displayed as Labels

3. Processing Options:

a. Specify Input Value in the provided field.

b. Specify Fill Value either From Same (Input DEM) Image or From
Other (DEM) Image.

i. From Input DEM image-user can replace the pixel value to


the same existing input DEM image with specified methods
or input value

ii. From Other DEM image-user can fill value from Other
DEM image, if user selects From other DEM image option,
other DEM image option, Height, Width, Band, and Data
Type options will be enabled.

iii. Specify the folder or file for particular DEM image.

iv. Specify the Methods from the dropdown as either Min or


Max or Positional Value.

Gujarat Technological University 33 Sal Engineering and Technical Institute


Team id: 310826 Testing

Min = user can replace the value from minimum value that is
present in input or other DEM image.

Max = User can replace the value from maximum value that is
present in input DEM image or other DEM image.

User Define Value = This method help to user to specify the


desired value.

Note: In case of From Same Image option, the user will have to select either Min, Max or
User Define Value. Specify the value in the provided field.

4. Output Options: Specify the output data type and select the location to
save the output.

5. Click OK button to proceed. The process should complete and the output
should be saved in the user specified location.

6. Verify Output: Click on Image > Image data for verification of the output
result. Verify if all the given DN values are replaced by the minimum DN
value from the input DEM image.

Gujarat Technological University 34 Sal Engineering and Technical Institute


Team id: 310826 Testing

Output Image :

Figure 6.10 – Void Removal Module Output

Gujarat Technological University 35 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.3 Math tool


6.2.3.1 Introduction to Math tool
For spatial analysis different mathematics functions are performed on single raster data as
well as multiple raster data. IGiS provides seamless mathematical tool, rich of various
mathematical functions.

There are mainly four sections of the mathematical function.

1. General - Provides various mathematical functions like Addition, subtraction,


multiplication, power, square root, etc.

2. Bitwise - Operation that are performed on bits like 'And', 'Exclusive OR', 'Not', etc.

3. Logical - Different operations like Boolean (And, Not, XOR & OR), Combinational
(And, OR, NOR & XOR), Comparison (Greater than, Less Than, etc).

4. Trigonometric - Various types of trigonometric functions like normal (Sin, Cosine


& Tangent), Inverse (Asin, Acos & ATan) and Hyperbolic (Sinh, Cosh & Tanh).

Gujarat Technological University 36 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.3.2 GUI of Math Tools

Figure 6.11 – GUI of Math Tool

Detail explanation of each section and their respective function are described in below
tabular format.

Gujarat Technological University 37 Sal Engineering and Technical Institute


Team id: 310826 Testing

1. General

No Function Description
Absolute value of the number has no sign. This
1 Absolute function returns absolute value of the pixel value.

2 Addition Returns the result of the addition of two pixel values.

3 Assignment It assigns value of one pixel to another

Returns the nearest integer which is greater than or


4 Ceiling equal to the pixel value provided.

Returns the result of division of pixel values


5 Division provided.

Returns the exponential value of the provided pixel


6 Exponential value.

7 Float Returns the float value of the provided pixel value.

Returns the nearest integer which is less than or equal


8 Floor to the pixel value provided.

9 Integer Returns the integer value of the pixel value provided.

10 Log10 Returns the logarithm of pixel value to the base 10.

11 Log2 Returns the logarithm of pixel value to the base 2.

Returns the natural logarithm of pixel value to the


12 Log Natural base 'e'.

Module is the remainder value of division of two


numbers. This function returns the module value
13 Module of pixel values .

14 Multiplication Returns the multiplication of two pixel values.

This function multiplies each pixel value with -1 and


15 Negate change the sign of each pixel value.

16 Power Returns the pixel value with specified power.

17 Square Returns the value of square of pixel value.

18 Square Root Returns the square root of pixel value.

19 Subtraction Returns the result of subtraction of provided pixel

Table 6.1 – General Arithmetic Fuctions for Image Processing

Gujarat Technological University 38 Sal Engineering and Technical Institute


Team id: 310826 Testing

2. Bitwise

No Function Description
Returns the result of logical bitwise conjunction of two
1 And pixel values

Returns the result of logical bitwise exclusion of two pixel


2 Exclusive OR values

Returns a value after shifting the value of the pixel to the


3 Left Shift left

4 Not Returns the result of performing negation of pixel value


Returns the result of logical bitwise disjunction of two
5 OR pixel values

Returns a value after shifting the value of the pixel to the


6 Right Shift right

Table 6.2 – Bitwise Fuctions for Image Processing

Gujarat Technological University 39 Sal Engineering and Technical Institute


Team id: 310826 Testing

3. Logical

No Function Description
Returns a value after applying logical
1 Boolean AND conjunction on two pixel values

Returns a value after performing logical


2 Boolean NOT negation operation on two pixel values

Returns a value after performing logical


3 Boolean OR disjunction on two pixel values

Returns a value after performing logical


4 Boolean XOR exclusion on two pixel values

Returns a value after performing


5 Combinational AND combinational AND on two pixel values

Returns a value after performing


6 Combinational OR combinational OR on two pixel values

Combinational
Returns a value after performing
7 XOR combinational XOR on two pixel values

Returns the first pixel value if both the pixel


values are different or returns 0 if both
8 Different pixel values are same

Returns a value of 1 if both pixel values are


9 Equal to same

Returns a value of 1 if first pixel value is


greater than second pixel value else returns
10 Greater than 0

Returns a value of 1 if first pixel value is


Greater than or Equal greater than or equal to second pixel value
11 to else returns 0

Returns the pixel values whenever the value


12 In Data specified in input is found

Returns a value of 1 if any of the two pixels


13 Is Null has no data else returns 0 which have data

Returns a value of 1 if the value of first pixel is


lesser than the value of second pixel else
14 Less than returns 0

Gujarat Technological University 40 Sal Engineering and Technical Institute


Team id: 310826 Testing

Returns a value of 1 if the value of first pixel is


lesser than or equal to the second pixel else
15Less than or Equal to returns 0

Returns a value of 1 if the value of first pixel is


not equal to the value of second pixel else
16 Not Equal to returns 0

Returns second pixel value if first pixel value


17 Over is 0 else returns 1

Table 6.3 – Logical Fuctions for Image Processing

4. Trigonometric

No Function Description
This function returns cosine value of each pixel
1 Cos value.

2 SinThis function returns sine value of each pixel value


This function returns tangent value of each pixel
3 Tan value.

This function returns hyperbolic cosine value of


4 Cosh each pixel value.

This function returns hyperbolic sine value of each


5 Sinh pixel value.

This function returns hyperbolic tangent value of


6 Tanh each pixel value.

This function returns inverse cosine value of each


7 ACos pixel value.

This function returns inverse sine value of each


8 ASin pixel value.
Gujarat Technological University 41 Sal Engineering and Technical Institute
Team id: 310826 Testing

This function returns inverse tangent value of each


9 ATan pixel value.

This function returns inverse hyperbolic cosine


10 ACosh value of each pixel value.

This function returns inverse hyperbolic sine value


11 ASinh of each pixel value.

This function returns inverse hyperbolic tangent


12 ATanh value of each pixel value.

This function returns the value of arctangent of


(Pixel Value of Image1) / (Pixel Value of
13 ATan2 Image2).

Table 6.4 – Trigonometric Fuctions for Image Processing

Gujarat Technological University 42 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.4 Subset Using Vector


6.2.4.1 Introduction Subset using vector
This function allows user to extract input image area using the vector theme overlaid on
the input image. Thus using this function you can extract a part of image or create a subset
image using irregular Area of Interest. The AOI created can be of type, Polygon, Irregular
Polygon & Circle that is supported by the Draw Tools in IGiS Software.

Vector layer to be used for the input should be overlaid on the input image. Ensure that the
vector layer is not converted on the fly in the display area. Because in such cases even if
vector and image is found overlaid, the function will display out of bound message.

6.2.4.2 GUI of Subset using Polygon

Figure 6.12 – GUI of Subset Using Polygon

Gujarat Technological University 43 Sal Engineering and Technical Institute


Team id: 310826 Testing

Steps to generate Subset using Vector Polygon

i. Create a new polygon theme using Theme – > Create Theme


containing the projection details from the input image.

ii. Using the editing tool create polygons with reference to the section
of input image you want to extract.

iii. Select the theme that you want to use as the reference theme to
extract the image.

iv. Now select Image Processing – > Subset Image – > Subset using
Vector Polygon.

2. (Note: The function will be enabled only if the theme is selected in the view)

i. Specify or browse Input image

ii. Specify or browse Output Image.

iii. Select the Output image type.

iv. Specify the 0boundary value which will be used to generate pixel
not pertaining to the polygons.

v. Click OK to complete the process, Stop to stop the process in


between, Cancel to quit the function and Help to view online help
for this functions

Gujarat Technological University 44 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.13 – Subset Output Using Polygon

6.2.5 Join Feature


6.2.5.1 Introduction Join feature
This tool helps user to transfer and append information from one feature to another. The
transferred information is based on defined spatial relationship or based on common
attribute that is shared between the two datasets.

Input details:

The input data for this tool must be Vector theme. Here, the input data is: (a) Family_data
(point feature) (b) City_area (area feature)

Output Details:

The resultant output will be stored in theme based on the selected statistic attribute field in
the output theme. For example- ward_no_min.
Gujarat Technological University 45 Sal Engineering and Technical Institute
Team id: 310826 Testing

Example:

Suppose you have a family data, but there are no "ward number" that identifies where the
family resides. On the other hand, you have a city data in which you have "ward number"
of each area. So using "Join Feature" tool, the user can create a new family data with it's
corresponding ward number.

6.2.5.2 GUI of Join Features

Figure 6.14 – GUI of Join Features

Gujarat Technological University 46 Sal Engineering and Technical Institute


Team id: 310826 Testing

Steps to perform Join Features:

1. Open Module: Theme > Geoprocessing > Join Features. The Join Features window
should open.
2. Input Details:
 Specify Source Theme name. Here, it is: City_area (Polygon theme).
 Specify Destination Theme name. Here, it is: Famliy_data (Point theme).
3. Processing Details:
 Specify the Join Operation from dropdown list. Here, it is: One-To-One.
 Specify the Operation from the dropdown list. Here, it is: Spatial.
 For attribute operation, the destination and source field will be enabled.
 For spatial operation, the user will have to choose the spatial relation options.
 Specify the Spatial Relation from the dropdown list. Here, it is: Intersect.

Join operation joins feature in the source theme to a single feature in the destination theme.
In the spatial join process user can determine whether features are joined based on their
relative spatial location. The given relationship depends on the geometry type of layer being
joined. In attributes user can match feature when the field value in the join layer is equal to
field value in the target layer.

4. Once the user selects One-To-One join and Spatial operation, field list box and
statistics will be enabled.
 Select one or more checkbox from the field list. Here, ward_no is selected.
 From statistics option, select one or more checkboxes. Here, minimum is selected.
5. Specify output theme name. For Example: Family_ward_data.
6. Click OK button. The process of Join Features should begin and the user will get the
processed attribute with the selected parameter in first layer.
7. Verify Output:
a. Click on "Add Theme" Button to verify.
b. The Output theme name should be displayed in the "Add Theme" list.
c. Check the thematic extent of the resultant output.
d. Verify the attribute table. Output theme contains new attributes based on selected
processing options,
e. Verify if all the selected statistics attribute fields are calculated (min, max, avg, stddev)
are stored in output point theme.

Gujarat Technological University 47 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.6 Polygon Numbering : Using Line Theme


1. Introduction to Polygon Numbering : Using Line theme

This tool is useful for numbering of polygon themes. In this tool user can give numbering
to each polygon by providing line theme. Polygon which touches first line is numbered one.
Polygon which touches second line is numbered 2 and so on. If you want to generate
numbering of all polygons whether it touches or does not touch the line then you have to
check "Using Buffer" checkbox.

Input Details:

The input data for this tool must be Line theme and Polygon theme. Here, the input themes
are as follows:

a) Polygon theme: taluk


b) Line theme: highway

Output Details: The output will be stored in the user specified field of the selected theme.

Pre-requisite: The Line layer/theme must contain only one data.

Gujarat Technological University 48 Sal Engineering and Technical Institute


Team id: 310826 Testing

Input File:

Figure 6.15 – Input Shape File of Taluk

Gujarat Technological University 49 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.16 – GUI of Polygon Numbering Using Line Theme:

Steps to perform Polygon Numbering Using Line Theme tool:

1. Open Module: Theme > Geoprocessing > Poly Numbering > Using Line Theme. The
respective window should open.

2. Input Option: Select a Polygon theme from the provided dropdown list. Here, taluk is
selected as the polygon theme.

3. Processing Option:

a. Select the Line theme from the provided dropdown list. Here, highway is selected
as the line theme.
b. The Using Buffer method (if required) by clicking on the corresponding checkbox
to number all the polygon features in the selected layer. If the user does not selects
the Using Buffer processing method, only the polygon features that are touching the
line theme will be numbered instead of all.
4. Output Options: Select the Field options as per the requirement. The user can select

Gujarat Technological University 50 Sal Engineering and Technical Institute


Team id: 310826 Testing

either New or Old/Update field options.

a. If the user selects New, the user will have to enter a new Column Name in the
provided edit box. This will create a new column in the attribute table of the selected
polygon theme. Here, polygon_number is the name of the newly created column in the
taluk polygon theme.

b. If the user selects Old/Update, the user will have to select the column name from
the Column Name dropdown list of existing columns.

5. Click OK button to proceed. The process of polygon numbering should begin. The
polygon that touches the line first is numbered one, polygon that touches the line second, is
numbered as 2 and so on. The numbers are stored in the "polygon_number" column of the
taluk polygon theme's attribute table.

6. Verify Output: Open the attribute table of the taluk theme and verify the newly created
column values, that is, polygon_number. This column will store the values of all the
polygon features of the theme.

Gujarat Technological University 51 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.17 – Output File (Using Buffer Method)

Figure 6.18 – Output File (Without Using Buffer Method)

Gujarat Technological University 52 Sal Engineering and Technical Institute


Team id: 310826 Testing

6.2.7 Polygon Boundary


1. Introduction to Polygon Boundary
It will generate the boundary for selected polygon layer.

2. GUI of Create Polygon Boundary

Figure 6.19 – Dialog Module of Create Polygon Boundary

Steps for Create Polygon Boundary:

1. Select Input polygon theme from view explorer.

2. Select Theme – > Geo-processing – > Create Polygon Boundary


3. Specify the output theme name for polygon boundary.
4. Click on OK button to create the boundary of the selected polygon theme.
5. Click on Stop button to stop the process.
6. Click on Cancel button to close the dialog box.
7. Click on Help button to get help about the Create Polygon Boundary.
8. Add the output theme (Theme – > Add Theme) into the view to display the resultant
theme.

Gujarat Technological University 53 Sal Engineering and Technical Institute


Team id: 310826 Testing

Figure 6.20– Input Screen of Create Polygon Boundary

Figure 6.21 – Output Screen of Create Polygon Boundary

Gujarat Technological University 54 Sal Engineering and Technical Institute


Team id: 310826 Testing

CHAPTER 7: TESTING
This chapter elaborates the test process of the application and shows the result of testing.
7.1 Phases
The structure of the system can be divided into two main logical components. Each of these
components must be tested individually, and the approaches which will be used for each
component are described in the following sections.

7.2 Manual and Automated Testing

Manual testing is a type of testing where a human tester manually executes test cases
without the help of any automated tools. This involves executing test cases step by step and
comparing the actual results against expected results to identify defects or bugs in the
software application. Manual testing is usually performed during the early stages of
software development to ensure the basic functionality of the application.

On the other hand, automated testing is a type of testing where testing tools and scripts are
used to execute test cases. This involves creating scripts that simulate user actions and input
to automate the testing process. Automated testing is usually performed after the manual
testing to validate the software's functionality and performance in a more efficient and
consistent manner.

Both manual and automated testing have their advantages and disadvantages. Manual
testing allows testers to find defects that may be missed by automated tools, as it is more
flexible and can involve human intuition. However, manual testing can be time-consuming
and can also be prone to human errors.

On the other hand, automated testing can be faster, more efficient, and less prone to errors.
It can also run repetitive tests consistently, which is beneficial for regression testing.
However, automated testing may not be suitable for all types of testing, especially for
exploratory or ad-hoc testing, and requires significant upfront investment in automation
tools and scripts

Gujarat Technological University 55 Sal Engineering and Technical Institute


Team id: 310826 Testing

7.3 White Box Testing


White-box testing (also known as clear box testing, glass box testing, transparent box
testing, and structural testing) is a method of testing software that tests internal structures or
workings of anapplication, as opposed to its functionality (i.e., black-box testing). In white-
box testing an internalperspective of the system, as well as programming skills, are used to
design test cases. The tester chooses inputs to exercise paths through the code and determine
the appropriate outputs. This is analogous to testing nodes in a circuit, e.g., in-circuit testing
(ICT). White-box testing can be applied at the unit, integration and system levels of the
software testing process. Although traditional testerstended to think of white-box testing as
being done at the unit level, it is used for integration and system testing more frequently
today. It can test paths within a unit, paths between units during integration, and between
subsystems during a system–level test. Though this method of test designcan uncover many
errors or problems, it has the potential to miss unimplemented parts of the specification or
missing requirements.

7.3.1 Testing Procedure

1) Unit testing: White-box testing is done during unit testing to ensure that the code is
working as intended, before any integration happens with previously tested code. White-
box testing during unit testing catches any defects early on and aids in any defects that
happen later on after the code is integrated with the rest of the application and therefore
prevents any type of errors later on.

2) Integration testing: White-box testing at this level are written to test the interactions of
each interface with each other. The Unit level testing made sure that each code was tested
and working accordingly in an isolated environment and integration examines the
correctness of the behaviour in an open environment through the use of white-box testing
for any interactions of interfaces that are known to the programmer.
3) Regression testing: White-box testing during regression testing is the use of recycled
white-box test cases at the unit and integration testing levels.

Gujarat Technological University 56 Sal Engineering and Technical Institute


Team id: 310826 Conclusion and References

CHAPTER 8: CONCLUSION AND


REFERENCES
Conclusion

8.1 Overall analysis of the Internship

First of all, we would like to thank the Almighty, who has always showed the right path in
life. The Internship opportunity, I had with Scanpoint Geomatics ltd., was a great chance
for learning and professional development. I am also grateful for having a chance to meet
many wonderful people and professionals who led me through this internship period. I
would like to express my deepest appreciation to all those who are associated in this Project
and provided me the possibility to complete this report. A special gratitude I would like to
give to, Mr. Prashant Bhambhani Sir (Exernal Guide) and Mr. Gouse Shaik Sir(VP-Product
Development) whose contribution in stimulating suggestions and encouragement, helped
me throughout my internship especially.

I am Thankful for the patience with which he stood by me till the time. I would like
to express my deepest thanks to him for taking part in useful decision and giving necessary
advice and guidance. I would like to acknowledge all the staffs for providing a helping hand
to me in times of queries & problems, who helped me to successfully complete the Project
within the specified Time Frame.

Gujarat Technological University 57 Sal Engineering and Technical Institute


Team id: 310826 Conclusion and References

8.2 Photographs and date of surprise visit by institute mentor

Dt: 19-4-2023

8.3 Dates of Continuous Evaluation (CE-I and CE-II)

 CE-1: 18-2-2023

 CE-2: 10-3-2023

Gujarat Technological University 58 Sal Engineering and Technical Institute


Team id: 310826 Conclusion and References

8.4 Summary

GIS Modules gives the power to visualize the spatial data (Raster & Vector) geographically
and to manipulate data (raster and vector) for standard analysis. It facilitates the end user
to create maps, images and provides all the tools needed to put data on a map and display
it in an effective manner. It helps to solve the geo-locational and attribute based queries,
present the results of work in the form of publication-quality maps and to create interactive
displays that link reports, graphs, tables, drawings, photographs, and other elements to the
data

Gujarat Technological University 59 Sal Engineering and Technical Institute


Team id: 310826 Conclusion and References

8.5 References
 https://qms.sgligis.com
 https://www.tutorialspoint.com
 https://code-projects.org
 https://msdn.com

 https://testingfreak.com/waterfall-model-software-testing-advantages-
disadvantages-waterfall-model/

 Software Engineering | White box Testing - GeeksforGeeks

Gujarat Technological University 60 Sal Engineering and Technical Institute

You might also like