Anda di halaman 1dari 67

SUMMER TRAINING PROJECT REPORT

2008-2009

Report submitted for fulfillment of the Summer


Training at SRSAC, Jodhpur

Student details:
Name: Anshul Jain
Student Id: 200701119
E-mail: 200701119@daiict.ac.in

Address of Institute:
State Remote Sensing & Application Center (SRSAC)
Subash Nagar, Pal Road
Jodhpur, Rajasthan
2

ACKNOWLEDGEMENT

I would like to express my heartfelt thanks to Prof Mehul S Raval, Summer


Industrial Training Coordinator for helping me taking Summer Internship in
SRSAC.

I express my deep sense of gratitude to Dr. N.K. Karla, Project Director for
encouraging me to take the training at SRSAC (State Remote Sensing &
Application Center).

I am very thankful to Mr. Rajeev Jain and Dr. Sushil Dadich whose scholarly
guidance, encouragement and affectionate pressure helped me in completing
this training and project work. Their inspiration encouragement, suggestion
and very constructive criticism have contribution immensely to the evolution
of my ideas on the subject.

Lastly, I would also like to express my heartfelt thanks to the staff members of
State Remote Sensing & Application Centre for their Valuable guidance and
helping me during my training period.

Anshul Jain
BTech 2nd Year
Dhirubhai Ambani Institute of Information & Communication Technology
Gandhinagar, Gujrat.
3

SRSAC

In Rajasthan , Remote Sensing Activities started with the establishment of "Aerial


Photo Interpretation Laboratory (APIL)" at Jodhpur in 1979 as a part of Desert
Development Programme to assist Soil and Water Conservation Planning in the State.

In 1985 looking to multi-disciplinary utility of the Remote sensing Technology, the


laboratory was transferred with staff to State Department of science and Technology and
renamed as “State Remote Sensing Application Centre (SRSAC).”

OBJECTIVES :
Generation of number of database related to natural resources for developmental
planning activities in the state using remote sensing techniques (Aerial Photo
Interpretation and Satellite data interpretation both visually as well as digital mode).
To generate data bank consisting of temporal and spatial data products and to
generate information system on natural resources.
To interact with various user agencies for the formulation and implementation of
Remote Sensing Projects for development planning.
To undertake short term and long term experimental and operational remote sensing
studies to identify, and manage various natural resources such as soil, water, forest,
agriculture, minerals, settlement, town planning, drainage, roads and geology
for monitoring changes due to natural calamities such as drought, flood and also to
evaluate land use changes.
Human Resource Development in the field of remote sensing by organizing short
term appraisal courses / seminars or workshop / exhibitions on remote sensing
application for the user departments, agencies, NGO’s and students.
To interact with National Remote sensing Institute like National Remote Sensing
agency (NRSA), Hyderabad, Space Application Centre (SAC), Ahmedabad,
Regional Remote Sensing Service Centre (RRSSC), Jodhpur to carry out joint
projects.

REMOTE SENSING
4

“Remote sensing is an art or science by which information about an object can be


gathered from a distance without being in physical contact with it ’’

There are three aspects of remote sensing:

 Space borne remote sensing.


 Air borne (Aerial) remote sensing.
 Ground Bourne.

SPACE BORNE: In this type of remote sensing object is sensed from space by a satellite
through various types of sensors .It is concerned with the measurement of sun’s energy
(electromagnetic) which are reflected, emitted by objects receiving and returning the
energy from the sun. The sun’s energy, commonly referred to as electromagnetic
spectrum, is array of electro-magnetic radiation that moves with constant velocity, which
is characterized, by wavelength or frequency.

AIR BORNE: In this art of science, photographs are taken by a camera board on an
airplane. The successive photographs of terrain are taken in such a way that 60% overlap
in forward direction and 30% overlap in lateral direction of flight line is taken so as to
have stereoscopic view and full coverage. The height of plane depends on scale of the
photography required. The scale of photographs is ratio of focal length of lens of camera
to flying height.
An aerial photograph is one taken from an elevated platform such as a balloon, airplane,
rocket or a satellite .The earliest air photos were taken from balloon in France in 1858
and in the United States in 1860.

GROUND BOURNE: The data products from satellite and aerial photographs can be
analyzed visually and digitally. In this type of remote sensing observation of each and
every object is done via going to that place directly and analyzing its features.

AERIAL PHOTOGRAPHS
5

By the time of the First World War (1914-1918), systematic aerial photographic cover
was possible. Specific flights lines could be planned and photographs taken at designated
intervals. In terms of geometry there are two major types of aerial photos: Oblique and
Vertical. Oblique can be further divided into those in which the horizon is visible (high
oblique) and in which it is not (low oblique).The great advantage of oblique photograph
of both kinds is that features are seen from a more or less familiar point of view. The
disadvantage is that, became of perspective, measurement is more difficult on oblique
than on vertical photos.

Subsequently a new discipline was developed Photogrammetry, the science of obtaining


reliable measurement from photographs and, by extension, mapping from aerial photos.
To study aerial photograph we use an instrument called Mirror Stereoscope which gives
an 3D view of high resolution data captured from airplane.

Facts On Aerial Photogrammetry: Fellin Tournachoul(aka Nadir) was the 1st person to
use this technology. In 1858, he took picture of earth via hot air balloon of Petil (a town
near Paris, France).

Automatically at regular intervals called “CAMERA STATION” the photographs are


taken and then overlapped to get match.

AERIAL PHOTOGRAPHS

OBLIQUE VERTICAL

HIGH LOW
6

APPLICATIONS OF REMOTE SENSING

Remote sensing has proven applications in following fields:

(1) Land use / Land cover mapping


(2) Geology & Geomorphology
(3) Land degradation studies - salt affected areas, erosion, ravinous areas
(4) Soil conservation planning
(5) Water resources –surface & ground water
(6) Forest & vegetation mapping
(7) Agriculture
(8) Human settlement
(9) Monitoring / change detection.

With advancement in remote sensing technique, India has developed varying mapping
capability through indigenous resource satellites

Sensors Thematic HRV, SPOT LISS-III WiFS PAN


Mapper L-4, 5

Organization NASA (USA) CNS(FRANCE) DOS (INDIA)

Launch Year 1982,84 1985 1988,92,96


7

Spectral Bands 0.45 - 0.52 Multi Spectra B2 0.52 -0.59 B3 0.62 -0.68 0.50-0.7

(Microns) 0.52 - 0.60 0.50 -0.59 0.62 -0.68

0.63 - 0.69 0.61 -0.69 0.77 -0.86 B4 0.77 -0.86

0.76 -0.90 0.79 -0.90 B5 1.55 -1.70

1.55 -1.75 or PAN –

10.4 -12.5 Chromatic

2.8 -2.35 0.50 -0.90

30 M 20M(Multispectral) 23.5M(for Ba 2,3&4) 188.3M 5.8M


Linear Resolution
120 M(IR) 10M(Panchromatic) 70.5M(for Ba 5 only)

Orbit repeat 16 days 26 days 24 days 5 days 24 days


period

Mean altitude 705 Km. 822 Km. 817 Km. 817 Km. 817 Km.
SWATH Width 141 Km. (for Ba 2,3&4) 810Km. 70 Km.
185 Km. 2 *60 Km.
(Nadir) 148 KM. (for Ba 5 only)
Equatorial
9 H30 10 H30 10 H30 10 H30 10 H30
Crossing Time
Details of Some Resource Satellites
8

GEOGRAPHIC INFORMATION SYSTEM (GIS)

The use of geographic information systems grew dramatically in 1980s. It is now


commonplace for business, government, and academia to use GIS for many diverse
applications. Today, GIS is a multibillion-dollar industry employing hundreds of
thousands of people worldwide. GIS is taught in schools, colleges, and universities
throughout the world. Professionals in every field are increasingly aware of the
advantages of thinking and working geographically.

DEFINITION:

“An organized collection of computer hardware, software, geographic data, and


personnel designed to efficiently capture, store, update, manipulate, analyze, and
display all forms of geographically referenced information. "

Other Definitions:

 A database system in which most of the data is spatially indexed and upon which
a set of procedures operated in order to answer queries about spatial entities in
database.

 A decision support system involving the integration of spatially referenced data


in the problem solving environment.
9

Alternate Names for GIS:

1. Cadastral Information System


2. Image Based Information System

3. Lang Data System

4. Geographically Referenced Information System

5. Natural Resource Management Information System (NRIS)

6. Market Analysis Information System

7. Multipurpose Cadastral Information System

A geographic information system (GIS) is a computer-based tool for mapping and


analyzing things that exist and events that happen on earth. GIS technology integrates
common database operations such as query and statistical analysis with the unique
visualization and geographic analysis benefits offered by maps. These abilities
distinguish GIS from other information systems and make it valuable to a wide range of
public and private enterprises for explaining events, predicting outcomes, and planning
strategies.
10

APPLICATIONS OF GIS:

Many of the early applications in Europe built land registration systems and
environmental database. In Britain’s it is used creating developing utility system and
creating a comprehensive topographic database for the country.
Canada developed an important forestry application to plan the volume of timber to
cut identify access; Applications to China and Japan emphasized monitoring and
modeling possible environmental changes.
In the United States, the US bureau of census and the US Geographical Survey
used GIS technology for their Topologically Integrated Geographic Encoding and
Referencing (TIGER) project. They produced a computerized description of the US
Transportation Network at the cost of about $170million –to facilitate taking and
reporting the 1990 census.
Today the numbers of variety of applications for GIS are impressive.

 PLANNING AND ZONING, PROPERTY ASSESSMENT AND LAND


RECORDS, PARCEL MAPPING, PUBLIC SAFETY, AND ENVIRONMENT.
 FISH AND WILDLIFE PLANNING.
 MANAGEMENT OF FORESTED, AGRICULTURE, AND COASTAL LANDS,
AND ENERGY AND MINERAL RESOURCES MANAGEMENT.
 IN DEMOGRAPHY FOR MARKET ANALYSIS, FACILITIES SITING,
ADDRESS MATCHING AND GEOCODING, AS WELL AS PRODUCT
PROFILES FORECASTING, PLANNING.
11

 EDUCATION AND RESEARCH IN THE CLASSROOM, THE COMPUTER


LAB, THE RESEARCH INSTITUTE AND THE PUBLIC LIBRARY.
 IN AUTOMATED MAPPING AND FACILITIES MANAGEMENT FOR
ELECTRICITY, WATER, SEWER, GAS, TELECOMMUNICATION AND
CABLE TELEVISION UTILITIES.
GIS UTILITY
Software
Software
Tools
Tools Database

THE RESULTS

Components of a GIS

A working GIS integrates five key components: hardware, software, data, people, and
methods.
Hardware
Hardware is the computer on which a GIS operates. Today, GIS software runs on a wide
range of hardware types, from centralized computer servers to desktop computers used in
stand-alone or networked configurations.
12

Software
GIS software provides the functions and tools needed to store, analyze, and display
geographic information. Key software components are:
 Tools for the input and manipulation of geographic information.
 A database management system (DBMS).
 Tools that support geographic query, analysis, and visualization.
 A graphical user interface (GUI) for easy access to tools.

Data
Possibly the most important component of a GIS is the data. Geographic data and related
tabular data can be collected in-house or purchased from a commercial data provider. A
GIS will integrate spatial data with other data resources and can even use a DBMS, used
by most organizations to organize and maintain their data, to manage spatial data.

People
GIS technology is of limited value without the people who manage the system and
develop plans for applying it to real-world problems. GIS users range from technical
specialists who design and maintain the system to those who use it to help them perform
their everyday work.

Methods
A successful GIS operates according to a well-designed plan and business rules, which
are the models and operating practices unique to each organization.
13

How GIS Works


GIS stores information about the world as a collection of thematic layers that can be
linked together by geography. This simple but extremely powerful and versatile concept
has proven invaluable for solving many real-world problems from tracking delivery
vehicles, to recording details of planning applications, to modeling global atmospheric
circulation.
14

Geographic References

Geographic information contains either an explicit geographic reference, such as a


latitude and longitude or national grid coordinate, or an implicit reference such as an
address, postal code, census tract (zone) name, forest stand identifier, or road name. An
automated process called geocoding is used to create explicit geographic references
(multiple locations) from implicit references (descriptions such as addresses). These
geographic references allow you to locate features, such as a business or forest stand, and
events, such as an earthquake, on the earth's surface for analysis.
15

Data Structure of the GIS package


The data structure of the GIS has a major bearing on the accuracy of the representation of
spatial data. Most GIS packages adopt either a raster or vector structure, or their
variants, internally to organize spatial data and represent real-world features. The
key element in both these models is that links are established between attribute
information and spatial features. The precise techniques used to create these links
vary from GIS to GIS. There are two types of GIS Packages are available.

1. Raster GIS packages 2. Vector GIS packages

Raster GIS Packages:

Raster GIS Packages organize spatial features in a spatial domain of grids/raster, which
are defined by dividing the space into equal units and obtaining a matrix of
grids/rasters. Rasters are limited by the area they can represent and also the limits
of storage space. Also the fineness of data is limited by the cell size - thus the area
of coverage is traded off with the resolution of the coverage. The storage problems
are handled by restoring to coding such as run length coding, chain coding, block
coding etc.

Vector GIS Packages:

Vector GIS Packages represent spatial features in a very accurate manner and adopt
sophisticated topological relationships to represent different features. The vector data
represents each geographical feature by a set of coordinates. Vector as xy coordinates
define points, lines and polygons. The basic premise of the vector-based structuring is to
define a 2-dimensional space where features are represented by coordinates on the two
axes.
16

Raster versus Vector

There are two characteristically different ways of spatial data representation for GIS
applications; questions of preferring one method over the other arise. Some of the
issues that need consideration are as follows:

 Vector data is precise and has no approximation errors for measured quantities like area,
length, perimeter, etc. (subject, of course, to the representational accuracy of the hardware).
Due to the discretization raster data suffers from such approximation errors.

 Generally, raster data has higher storage requirements though compression techniques can
be adopted. Vector storage is relatively less.

 GIS manipulation operations on raster data are computationally faster and less complex
than their equivalents on vector data. Imposing a structure on 2D vector data that is
sufficiently formal and supports efficient searching is fairly complex.

 Raster data is not easily amendable to association of attribute data with spatial features
such as points, lines or polygons. This is due to the fact that the basic entity in raster
approach is the grid cell and entities such as points.

 Raster is limited be the cell-size and sampling or disaggregation to a lower size is not
possible. Vector structure does not impose this limitations and thus analysis; plotting etc. is
more accurate in vector structure.
17

What you can


do with GIS? A variety of real world problems can be solved using a GIS can
be manipulated to solve these problems using various input,
analysis, and output techniques.

INPUT GIS offers to input data in both geographic and tabular way.
You can enter data into the computer in any of the following
ways:

 Digitize a map or scanned image


 Scan a hard copy of a document
 Convert an ASCII formatted file
 Convert digital data from other formats
 Enter survey data from the keyboard or read from a file
 Buy commercial available data, such as tapes and CD-
ROMs
 Obtain digital copies from another department or
agency

MANIPULATION
ANDANALYSIS You can manipulate and analyze data to obtain the following:

 Data that is easier to work with


 More useful data
 Answer to particular questions
 Solutions to particular problems
18

MANAGEMENT

 For small projects files are sufficient to store information.


 For large data volumes and more users DBMS is often best to
store organize, and manage data.
 Most of GIS packages have linkage to DBMS like dBase,
FoxBASE, SQL databases and so on.
 Some GIS packages utilize file management systems to
organize the non-spatial data.

OVERLAY
ANALYSIS The integration of different data layers involves a process called
overlay.

 This could be a visual operation, but analytical operations


require or more data layers to be joined physically.
 This overlay, or spatial join, can integrate data on soils, slope,
and vegetation, or land ownership with tax assessment.
19

OUTPUT You can display geographic and tabular data as any


following ways listed below:

 Screen displays on graphics terminals


 Plots- hard copy made using a plotter
 Screen dumps –hard copy made using a rasterizer
 PlotsScript files –hard copy made using a laser printer
 Listings –system formatted tabular data
 Reports specially formatted tabular data in which the user
may specify columns widths, column headings, and other
formatting options
20

Capturing data

The geographic database is the most and long –lived component of the GIS, thus making
data entry a very important consideration.
Because ARC/INFO integrates a variety of data types from a variety of sources, it
provides multiple data entry options.
ARC/INFO offers efficient data entry methods for automating paper maps and other
nondigital data sources. To take advantage of the vast collection of geographically
referenced data that already exist in digital format, ARC/INFO provides the most
comprehensive data conversion capability of any GIS on the market .ARC/INFO
software’s integrative capabilities also allow data sharing with other applications without
the need for data conversion.

Census Block Group Digitizing

Scanning
21

Storing data

Storing geographic data: -


A digital map database consists of two types of information: Spatial and Descriptive.
These are stored as a series of files on the computer and contain either the spatial or
descriptive information about the map features. These two types of data have to be
linked and the spatial relationships between the map features have to be
maintained. This data integration opens the way for powerful and varied ways of
looking at and analyzing your data. You can access information in the tabular
database through the map, or you can create maps based on the information in the
tabular database. To access and display this data, the computer must store both the
graphic and tabular data in easily recognized and retrievable formats.

Topology
What is Topology?
The user interprets additional information from maps about the spatial relationships
between features. For example you can trace a route along a city street map to find your
way from an airport to a hotel. You interpret these relationships by identifying connecting
lines along a path, by defining the areas enclosed within these lines, and by identifying
contiguous areas. In digital maps, such spatial relationships are depicted using topology.

Topology is a mathematical procedure for explicitly defining spatial relationships. For


maps, topology defines connections between features, identifies adjacent polygons
and can define one feature, such as an area, as a set of others (i.e. lines). Creating
and storing topological relationships has a number of advantages: -

 Data is stored more efficiently.


 You can process data faster and process larger data sets.
 You can also perform analysis functions, such as modeling flow through the
22

connecting lines in a network, combining adjacent polygons with similar


characteristics and overlaying geographic features.

The three major topological concepts are: -

Arc-Node Topology:
Topology: - Arcs connect to each other at nodes (connectivity)

Polygon-Arc Topology:
Topology: - Arcs that connect to surround an area define a polygon (area
definition)

Left-Right Topology:
Topology: - Arcs have direction left and right sides (contiguity)

Interpretation Keys Used for Identification of Features:

1. Shape
2. Size
3. Pattern
4. Shadow
5. Location
6. Texture
7. Association

A Topographical Area of 68000Hectares or 680-700Kms is represented in a Topo Sheet


or GPS Sheet.

Data inputs:

 Survey of India toposheets on 1:50,000 and 1: 2,50,000 scale for


entire State.
 Satellite data FCC on 1:50,000 and 1:250,000 scale at varied
intervals.
 Computer compatible Tapes (CCT) of varied period covering
entire State.
23

Displaying data Two types of data can be displayed with a GIS namely

 Spatial data
 Non-spatial data

Spatial Data: Consisting of maps and which have been prepared either by field
surveys or by the interpretation of Remotely Sensed (RS) data. Some examples of maps
are the soil survey map, geological map, land use map, village map etc.

Non-spatial Data: Attributes as complementary to the spatial data and describe what
is at a point, along a line or in a polygon. The attributes of a soil category could be the
depth of soil, texture, erosion, drainage etc. and for a geological category could be the
rock type, its age, major composition etc.

Examples of Point Type: tube well, electric pole, safety valves, mobile towers.
Examples of Line Type: roads, railway line, canals, drainage system.
Examples of Polygon Type: river, pond, hills.
24

IMAGE PROCESSING SYSTEM

Q: What is image?
Ans: Image is collection of pixel. While pixel is a discrete picture element.
Each pixel has a DN (Digital No.)

Remote sensing images are recorded in digital form and then processed by
computer to produce images for interpretation purpose. These images
contain large amount of data like a land set scene contain 13 lakh
numbers.

ERDAS (Earth Resource Development and Analysis System), an American


software used for image processing.

Shadnagar in Hyderabad is the main database center for collection and


receiving of image while SAC in Jodhpur is the manufacturing unit.

Classification of RS Data:
 Unsupervised (FCC Mode) – In this the same information is taken
into consideration as we got from satellite.

 Supervised (pXp level) – It’s a time consuming method but more


accurate and is used for micro level planning.
25

Geography Matters to Water and Wastewater Utilities

The daily demands on water and sewer districts are tough. Managing the flow of water
and wastewater to service homes and businesses is a difficult task. In doing so, a utility
needs to manage many different kinds of geographic information. They must keep track of
the location and condition of water mains, valves, hydrants, meters, storage facilities,
sewer mains, and manholes. They must also keep up with NPDES compliance, TV
inspection data, and condition ratings.

Planning and Engineering | Operation and Maintenance |


Finance and Administration | External Systems

Geographic Information Systems (GIS)

A majority of water/wastewater utilities use GIS technology to integrate all kinds of


information and applications with a geographic component into one, manageable system.
GIS lets you organize, manage, and distribute geographic information culled from various
databases while maintaining data integrity and focusing on project direction.
26

GIS for Planning and Engineering

Water agencies use GIS from ESRI to map the full extent of their water distribution
systems and link them to a database defining each element, including reservoirs, pipe
segments, services, and system appurtenances. GIS provides you with an intelligent
database so that job planning, equipment inventory, and flow analysis become an
automated procedure integrated into one system. You can link your current network
modeling system to the GIS, tie it to the attribute data, and map the results.

ESRI's GIS software lets you represent a project in three-dimensional form to visualize
the impact of facilities on landscape during the design process. These data can then be
combined with other computer-aided engineering functions to assist the engineering
designer in the planning and scenario testing of various designs.

Planning and engineering tasks that can be accomplished more easily using ESRI's GIS
software include:

 Watershed modeling
 Water distribution system master planning
 Population and demand projections
 Groundwater management/modeling
 Water quality monitoring
 Hazardous materials tracking/underground tank management
 Well log and data management
 Site analysis
 Geobibliography (past studies)
 Development review and approval
 Right-of-way engineering
 Water flow analysis
 Automated mapping
 Capital improvement project tracking
 Underground service alert
27

GIS for Operations and Maintenance

Many utilities have discovered the value of GIS for improving day-to-day operations.
GIS can be used to closely model utility networks and integrate other, related types of
data, such as raster images and CAD drawings. GIS spatial selection and display tools
allow user to visualize scheduled work, ongoing activities, recurring maintenance
problems and historical information.

The topological characteristics of a GIS database can support network tracing and can be
used to analyze specific properties or services that may be impacted by such events as
stoppages, main breaks, drainage defects, and so forth. Dynamic segmentation can also
be used to derive a generalized network that combines hydraulically similar sections into
larger strips to make pressure and flow analysis algorithms run more efficiently.

GIS can perform many other operations and maintenance tasks, including work order and
warehouse inventory management and SCADA.

GIS for Infrastructure Management and Construction

Water and wastewater organizations are often responsible for constructing and/or
overseeing the development of new facilities and replacement of old facilities. GIS aids
in tracking information related to projects, permits, construction work order management,
inspections, as-built, and so forth.

Dynamic segmentation and image integration features in GIS allow utilities to store and
display images in conjunction with a footage reading and a description of the pipe defect
(roots, grease and other problems). Maps, drawings, and pictures can also be associated
with valves, manholes, drop inlets, and other features to provide valuable information to
the user.
28

GIS for Finance and Administration

Finance and Administration provides the central administrative oversight to support the
planning and operational activities of the organization. Budget forecasting, facility
inventory analysis, customer billing, and other key administrative functions can be
enhanced through the implementation of an integrated, enterprise wide GIS solution.

GIS can be used for tasks such as:

 Rate justification
 Capital improvement project tracking
 Customer information service
 Complaint tracking
 Real property
 Redistricting
29

A computer system capable of holding and using data


describing places on
the earth's surface.

HYDROLOGY
HYDROLOGY

TOPOGRAPHY
TOPOGRAPHY

LAND
LAND USE
USE

UTILITIES
UTILITIES

SOILS
SOILS

STREETS
STREETS

DISTRICTS
DISTRICTS

PARCELS
PARCELS
30
31

WHAT IS ARC/INFO?

 TOOLBOX

ENTRY

EDITING

MANIPULATION
TOOLS
MANAGEMENT

ANALYSIS

DISPLAY

OUTPUT
32

WHAT IS ARC/INFO?

The ARC/INFO software’s geographic information system is a powerful computer


technology that enables user to access, integrate, visualize, analyze, and output a world of
information .ARC/INFO offers a complete solution for the automation, management, and
display of geographic and associated data, which can be used by any organization that
works with spatial data.

ARC/INFO software enables to integrate vector (x,y locations)map data ,raster images
such as photographs ,scanned documents or satellite images, computer aided drafting
(CAD) drawings , sound and video data ,as well as wealth of tabular DBMS data into a
single, integrated environment .ARC/INFO software is available for several UNIX
workstations and the Intel NT and DEC Aloha platform.

What does ARC/INFO do?

 Topological map overlays


 Buffer generation
 Proximity analysis
 Spatial and logical query
 Hydrologic modeling
 Surface analysis
 Network modeling
 Raster modeling
 Sophisticated tabular analysis
33

WHAT IS ARCTOOLS?

ArcTools is a general-purpose, menu-based interface to ARC/INFO designed to get new


start quickly. Common operations such as mapping, query, data automation, and analysis
are implemented through a series of AML –based tools and menus.

Arc Tools were developed using an object oriented programming methodology that
allows ArcTools to be used as a base to build custom applications. Individual tools can
readily be plugged into other applications, and adding custom tools is simple and
efficient. The object oriented methods employed to create ArcTools represent a major
break through in GIS application development.

Arc Tools are functionally grouped into four tool sets: Map Tools, Edit Tools, Grid Tools,
and Command Tools. This allows related tasks to be processed logically and quickly.
Additionally there is a Land Records, an Arc Tools application that manages land records
within the Arc Tools framework.

In each tool set a menu bar is displayed with pull down menus providing access to the
component tools. The tools can be used together or one at a time. Many common
operations have been included in more than one of the tool sets. For instance, the
ArcTools menu pull down is nearly identical in each of the tool sets. These menus
provide general tools for data base management, modeling, changing workspaces,
moving between tool sets, and accessing ARC/INFO programs, command lines and
system files. The basic functionality of each tool set is based on the ARC/INFO program
in which it operates.
34

ARCTOOLS

Map tools
Edit Tools
Grid Tools
Command Tools
Land Records

Ok
Ok Quit
Quit Help
Help

Map tools
Map
Map Tools
Tools

Arc
Arc Tools
Tools View
View Map
Map Tools
Tools Help
Help
tTools
tTools

Map Tools operate from within the ARCPLOT program, providing environment for data
display and query as well as map creation and output file generation. The Map pulldown
contains tools for managing the display and manipulation of map object properties
associated with a particular map layout. Map layout can be created, edited and saved as a
layout. The file can then be printed or plotted from within the Map Tools application.
35

Grid Tools

ArcTools Analysi View Map Edit Tool Help


36

Edit Tools
Edit
Edit Tools
Tools
ArcTool
ArcTool File
File Edit
Edit Tools
Tools Display
Display Help
Help
ss

Edit Tools operate from within the ARCEDIT program, allowing the management of data
automation and related processing tasks. The file pulldown cotains the tools to generated
geographic fearture as well as tabular data . The edit pulldown provides access to a
complete set of production tools to modify and manipulate coverage topology and
associated feature attribute tables. The display pulldown tools manage the current graphic
enviorment.

Grid Tools

Grid
Grid Tools
Tools

ArcTools
ArcTools Analysis
Analysis View
View Map
Map Edit
Edit Tools
Tools Help
Help

Grid Tools provide a sophisticated enviroment within the GRID program for prforming
spatial analysisand data display. A series of sequential steps with associated properties
can be defined, edited and saved as a model.
37

Command Tools

Command Tools
ArcTools Tools Help

Command Tools operate within the ARC program. These Tools are also accessible from
within the Map Tools, Edit Tools, and Grid Tools sessions : From the main menu bar each
of these tool set, select Command tools….. on the Tools pulldown.

Project Overview

A GIS project can be organized into a series of logical steps. Although many GIS project
you undertake will follow a similar sequences of operations.

Step 1 Determine the objective of the project

Important issues to consider are:

 What is the problem to solve? How is it solved now? Are there any alternative
methods for it?
 What are the final products of the project –reports, maps, presentation quality
maps?

Step 2 Build the database

 This is the most critical and often the most time consuming part of the project. The
completeness and accuracy of the database determines the quality of the analysis and
the final projects. It includes
38

 Design the database –determine the study area boundary coordinates system to use,
the attributes each feature type needs.

Automate the data. This, in turn, involves several steps:


Get the spatial data into the database –digitize and/or convert data from other
systems.
Make the spatial data usable –verify and edit errors, and then create topology.
Get the attribute into the database.

 Manage the database- put the spatial data into real-world coordinates, join adjacent
coverage’s, and maintain the database.

Step 3 Analyze the data

 A GIS efficiently performs analytical tasks that are extremely time consuming, or
even impossible to do manually. With GIS, we can test alternative scenarios simply
by making minor revisions in the analytic method. It is also used in conjunction with
our knowledge of the project objectives and the database we develop.

Step 4 Present the result of the analysis

 A GIS offers many options for creating customize maps and reports. The final
products should relate directly to the objectives of the project and the intended
audience.
39

STATE REMOTE SENSING APPLICATOIN CENTRE (SRSAC)

In Rajasthan Remote Sensing activities started with the establishment of Aerial Photo
Interpretation Laboratory (APIL) in 1979 as a part of centrally sponsored Desert
Development Program, to assist soil and water conservation planning in the State under
State Agriculture Department. Later on in 1985 looking to the multi-disciplinary utility of
Remote Sensing technology, the laboratory was transferred to State Department of
Science and Technology and renamed as STATE REMOTE SENSING
APPLICATION CENTRE (SRSAC).

OBJECTIVES

 To generate data bank consisting of temporal and spatial data base products.
 To generate information system for Natural Resources.

 To interact with various users agencies for the formulation and implementation of
development planning, using Remote Sensing technique.

 To undertake short term and long term experimental and operational Remote
Sensing studies for various Natural Resources.

 To collaborate /interact with National Remote Sensing Institutes like Natural


Remote Sensing Agency (NRSA), Hyderabad, Space Application Centre (SAC),
Ahmedabad, Regional Remote Sensing Service Centre (RRSSC) to carry out joint
projects.
40

FACILITIES

 The centre is premier Remote Sensing Application Centre in the Country and one
of the biggest State Centres in respect of Data Base generation, infrastructure
facilities &skilled manpower.

 The Centre Consists of:


 Aerial photographs of entire State on 1:50000 and 1:25000 scales.

 Satellite data of various satellites of different resolutions, scale and of


different periods in digital mode and as hardcopy too.

 All types of optical equipments for visual interpretation and map generation.
 System Hardware HP, Silicon Graphics workstation, Pentiums.

 Wide range of input /output devices-laser and inkjet Printers (A4 to A0).
 A0 size color scanner and Digitizers.

 A0 size raster and vector plotters.

 Latest Application Software’s-


 ERDAS.

 Arc/Info with all modules.


41

Technology offered to the users for –inventory, management and monitoring of Natural
Resources in the areas-

 AGRICULTURE
 SOIL CONSERVATION PLANNING

 WATER RESOURCES

(a) Ground water exploration

(b) Surface Water

 GEOLOGICAL MAPPING AND MINERAL EXPLORATION

 IRRIGATION

 FOREST AND VEGETATION MAPPING

 URBAN PLANNING

 PUBLICS WORKS DEPARTMENT

 INDUSTRIES

 ENVIRONMENT

 DISASTER MANAGEMENT

 GIS DEVELOPMENT

 SHORT AND LONG TERM TRAINING COURSES


42

 NOTABLE CONTRIBUTION TO: STATE NATURAL RESOURCES


MANEGEMENT

 FISHERS

 UNIQUE ATTEMPTS (MAIDEN IN COUNTRY AT STATE LEVEL):

 VIDEO FILMS:

GLOBAL POSITIONING
SYSTEM(GPS)

Points:

 No. of satellite = 24(30 in total, 6 in reserve)


 Height= 20,500Kms
 Software Used= Terra sync
 Requirement for Calibration= 4 satellite at a time
 Minimum receivers required= 2 to 3
 One part of GPS is called Base while other one is called Rover
 Range= 30 to 40 Kms
43
44

Some Important Abbreviations:

Sno. Abbr Full form


1 BIL Bank Interleaved by Line
2 DSQ Bank Sequential
3 BIP Bank Interleaved by Pixel
4 VGA Video Graphic Adapter
5 TM Tamatic Mapper
6 LISS Linear Imaging Self Scanner
7 LUT Look Up Table
8 IRS Indian Remote Sensing Satellite
9 SAT Synthetic Aperture Radar
10 ERS European Remote Sensing Satellite
11 WIFS Wide Field Sensor
12 SIR Shuttle Imaging Radar
13 NOAA National Oceanic & Atmospheric Administration
14 ISAC ISRO Satellite Center
15 IRIS Integrated Radar Image System
16 CCT Computer Computable Tips
17 TIN Triangulated Integrated Network
18 DTM Digital Terrain Model
19 DEM Digital Elevation Model
20 RADAR Radio Detection and Ranging
21 FCC False Color Composite
22 GCP Ground Control Point
45

MY
PROJECT
On

‘LIBRARY MANAGEMENT’
Program is made in C++ using Dev CPP as a software tool.
In this record of employee and books are maintained with each
employee or book added results in addition of new entry.
Status of each book is maintained i.e. whether it is issued or available
in the library. On removal of book its record is deleted.
46

#include <iostream>
#include <ctype.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;

int Gbid,Geid; // global variables....


int arrid[30], arreid[10];
int cnt=0,ecnt=0;
int eidarr[50], bidarr[50];
int x=0,y=0;

class Employee
{
public:
int Eid;
char name[30];
char qual[30];
char desig[30];
int iss;
int age;

void AddEmployee();
void DisplayEmployee();
void DeleteEmployee();
void ModifyEmployee();
void SearchEmployee();
void IssueBook(int);
void ReturnBook(int);
}E[10];

class Book
{
public:
char Title[30];
char Pub[30];
47

int Qty;
char Author[30];
float Cost;
int Bid;

void AddBook();
void DisplayBook();
void ModifyBook();
void DeleteBook();
void SearchBook();

}B[30];

void Employee :: AddEmployee()


{
system("cls");
char str[2];
cout << "\n\n\n\t\tEnter respective details : "<< endl;
cout << "\t\t------------------------\n\n"<< endl;
gets(str);// just to take enter pressed after getchar....in code no
significance
cout << "\n\t Name of Employee :";
gets(name);
cout << "\n\t Designation of Employee :";
gets(desig);
cout << "\n\t Qualification of Employee : " ;
gets(qual);
cout << "\n\t Age of Employee :";
cin >> age;
iss=0;
Eid=Geid;
cout << "\n\n\t ! Employee Successfully Added ! " << endl;
cout << "\n\t Employee Id : " << Eid << endl;
cout << "\n\t--------------------------------------\n\n"<< endl;
}

void Employee :: DisplayEmployee()


{
system("cls");
cout << "\n\n\n\t\tEmployee details : "<< endl;
48

cout << "\t\t----------------\n"<< endl;


cout << "\n\t Employee Id : " << Eid << endl;
cout << "\n\t Name of Employee :";
puts(name);
cout << "\n\t Designation of Employee :";
puts(desig);
cout << "\n\t Qualification of Employee : " ;
puts(qual);
cout << "\n\t Age of Employee :";
cout << age <<endl;
cout << "\n\t Books Issued :";
cout << iss << endl;
}

void Employee :: ModifyEmployee()


{
system("cls");
char ch,change;
char str[1];
while(1)
{
cout << "\n\n\t\tType of Entry you want to modify : "<< endl;
cout << "\t\t--------------------------------"<< endl;
cout << "\t\t\t (1) Name of Employee " << endl;
cout << "\t\t\t (2) Designation of Employee " << endl;
cout << "\t\t\t (3) Qualification of Employee " << endl;
cout << "\t\t\t (4) Age of Employee " << endl;
cout << "\n\n Enter your choice : ";
cin >> ch ;/* read the selection from the keyboard */
gets(str);// just to take enter pressed after getchar....in code no
significance
switch(ch)
{
case '1':
cout << "\n\n\t Name of Employee :";
gets(name);
break;
case '2':
cout << "\n\t Designation of Employee : " ;
gets(desig);
49

break;
case '3':
cout << "\n\t Qualification of Employee : " ;
gets(qual);
break;
case '4':
cout << "\n\t Age of Employee :";
cin >> age;
break;
default:
cout << "\n ! No option Selected !" << endl;
}
cout << "\n\nWant further changes [Y/N] : ";
cin >> change;
if (change == 'Y' || change == 'y')
continue;
else
return ;
}
cout << "\n\t--------------------------------------\n\n"<< endl;
}

void Employee :: DeleteEmployee()


{
int i, delID=Eid;
arreid[ecnt]=delID;
ecnt++;
age=-1;

void Employee :: SearchEmployee()


{
system("cls");
cout << "\n\n\n\t\tEmployee details : "<< endl;
cout << "\t\t----------------"<< endl;
cout << "\n\n\t Employee Id : " << Eid << endl;
cout << "\n\t Name of Employee :";
puts(name);
cout << "\n\t Designation of Employee :";
50

puts(desig);
cout << "\n\t Qualification of Employee : " ;
puts(qual);
cout << "\n\t Age of Employee :";
cout << age <<endl;
cout << "\n\t Books Issued :";
cout << iss << endl;
}

void Employee :: IssueBook(int BookId)


{
iss++;
bidarr[y]=BookId;
y++;
eidarr[x]=Eid;
x++;
cout << "\n\t\t !Book Successfully Issued! " << endl;
cout << "\n\t\t Your Account Details : " << endl;
cout << "\t\t -------------------- " << endl;
cout << "\n\n\t\t Id : " << Eid << "\n\t\t Books Issued : " << iss;
}

void Employee :: ReturnBook(int BookId)


{
iss--;
for(int a=0;a<y;a++)
{
if(BookId==bidarr[a])
bidarr[a]=0;
}
for(int b=0;b<x;b++)
{
if(BookId==bidarr[b])
eidarr[b]=0;
}

cout << "\n\t\t !Book Successfully Returned! " << endl;


cout << "\n\t\t Your Account Details : " << endl;
cout << "\t\t -------------------- " << endl;
cout << "\n\n\t\t Id : " << Eid << "\n\t\t Books Issued : " << iss;
51

void BookIssuedBy(int bukid)


{
int i=0,j; // get info abt person who has this book...

for(i=0;i<y;i++)
{
if(bukid==bidarr[i])
{
j=eidarr[i];
break;
}
}
cout << "\n\t Book Issued by ID : " << E[j].Eid <<endl;

void Book :: AddBook()


{
system("cls");
char str[2];
cout << "\n\n\n\t\tEnter respective details : "<< endl;
cout << "\t\t------------------------\n\n"<< endl;
gets(str);// just to take enter pressed after getchar....in code no
significance
cout << "\n\t Title of Book : " ;
gets(Title);
cout << "\n\t Publisher of Book : " ;
gets(Pub);
cout << "\n\t Author of Book : " ;
gets(Author);
cout << "\n\t Quantity of Books : " ;
cin >> Qty;
cout << "\n\t Cost of Book :";
cin >> Cost;
cout << "\n\n\t ! Book Successfully Added ! " << endl;
cout << "\n\t Book ID : "<< Gbid ;
B[Gbid].Bid=Gbid;
52

int i=Gbid;
while(Gbid<(Qty+i-1))
{
cout << ", "<< Gbid+1;
B[Gbid+1]=B[Gbid];
B[Gbid+1].Bid=B[Gbid].Bid+1;
Gbid++;
}
cout << "\n\t--------------------------------------\n\n"<< endl;

void Book :: DisplayBook()


{
int a=0,chk=0;
system("cls");
cout << "\n\n\n\t\tBook details : "<< endl;
cout << "\t\t------------"<< endl;
cout << "\n\n\t Book Id : " << Bid << endl;
cout << "\n\t Title of Book : " ;
puts(Title);
cout << "\n\t Publisher of Book : " ;
puts(Pub);
cout << "\n\t Author of Book : " ;
puts(Author);
cout << "\n\t Cost of Book :";
cout << Cost << endl;
cout << "\n\t Status :";
for(a=0;a<y;a++)
if(Bid==bidarr[a])
chk=1;
if(chk==1)
{
cout << "Issued " << endl;
BookIssuedBy(Bid);
}

else
cout << " Available " << endl;
cout << "\n\t--------------------------------------\n\n"<< endl;
53

void Book :: ModifyBook()


{
system("cls");
char ch,change;
char str[2];
while(1)
{
cout << "\n\n\t\tType of Entry you want to modify : "<< endl;
cout << "\t\t--------------------------------"<< endl;
cout << "\t\t\t (1) Title of Book " << endl;
cout << "\t\t\t (2) Publisher of Book " << endl;
cout << "\t\t\t (3) Author of Book " << endl;
cout << "\t\t\t (4) Quantity of Book " << endl;
cout << "\t\t\t (5) Cost of Book " << endl;
cout << "\n\n Enter your choice : ";
cin >> ch ;/* read the selection from the keyboard */
gets(str);// just to take enter pressed after getchar....in code no
significance
switch(ch)
{
case '1':
cout << "\n\n\t Title of Book : " ;
gets(Title);
break;
case '2':
cout << "\n\t Publisher of Book : " ;
gets(Pub);
break;
case '3':
cout << "\n\t Author of Book : " ;
gets(Author);
break;
case '4':
cout << "\n\t Quantity of Books : " ;
cin >> Qty;
break;
case '5':
cout << "\n\t Cost of Book :";
54

cin >> Cost;


break;
default:
cout << "\n ! No option Selected !" << endl;
}
cout << "\n\nWant further changes [Y/N] : ";
cin >> change;
if (change == 'Y' || change == 'y')
continue;
else
return ;
}
cout << "\n\t--------------------------------------\n\n"<< endl;
}

void Book :: DeleteBook()


{
int i, delID=Bid;
arrid[cnt]=delID;
cnt++;
Qty=-1;
Cost=-1;
}

void Book :: SearchBook()


{
system("cls");
cout << "\n\n\n\t\tBook details : "<< endl;
cout << "\t\t------------"<< endl;
cout << "\n\n\t Book Id : " << Bid << endl;
cout << "\n\t Title of Book : " ;
puts(Title);
cout << "\n\t Publisher of Book : " ;
puts(Pub);
cout << "\n\t Author of Book : " ;
puts(Author);
cout << "\n\t Cost of Book :";
cout << Cost << endl;
cout << "\n\t--------------------------------------\n\n"<< endl;
55

int mainmenu()
{
int menu;
system("cls");
cout << "\n\n\t\t\t MAIN MENU\t\t\t\t (0) To Exit" << endl;
cout << "\t\t\t ---------\n" << endl;
cout << "\n\t\t\t (1) EMPLOYEE MENU " << endl;
cout << "\n\t\t\t (2) BOOK MENU " << endl;
cout << " \n\n Enter your choice : " ;
while(1)
{
cin >> menu;
if(menu==1 || menu==2)
break;
else
{
cout << " \n\t!Invalid Selection! " << endl;
cout << " \n\tRe-enter your choice of menu : ";
}
if(menu==0)
exit(0);
}
return menu;
}
int main()
{
int w,cont,uid,menu;
char ch,task;
Gbid = 0, Geid=0;
system("cls");
while(1)
{
menu = mainmenu();
cont=0;
if(menu==1)
{
56

while(1)
{
system("cls");
cout << "\n\n\t\t\t EMPLOYEE MENU\t\t\t (0) To Exit" << endl;
cout << "\t\t\t -------------\n" << endl;
cout << "\t\t\t (1) ADD EMPLOYEE " << endl;
cout << "\t\t\t (2) DISPLAY EMPLOYEE " << endl;
cout << "\t\t\t (3) MODIFY EMPLOYEE " << endl;
cout << "\t\t\t (4) DELETE EMPLOYEE " << endl;
cout << "\t\t\t (5) SEARCH EMPLOYEE " << endl;
cout << "\t\t\t (6) ISSUE BOOK " << endl;
cout << "\t\t\t (7) RETURN BOOK " << endl;
cout << "\t\t\t (8) BACK TO MAIN MENU " << endl;
cout << "\n\n Enter your choice : ";
cin >> ch ;/* read the selection from the keyboard */
switch(ch)
{
case '0': exit(0);
break;
case '1': // Add Employee...
E[++Geid].AddEmployee();
break;
case '2': // Display Employee Details....
if(Geid==0)
{
cout << "\n\n No Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\nEnter Employee id : "; // display book id
while(1)
{
cin >> uid;
if(uid==0)
exit(0);
if(uid > Geid || E[uid].age==-1)
57

{
cout << " \n\t!Invalid Employee ID! " << endl;
cout << " \n\tRe-enter Employee ID : " ;
continue;
}
else
break;
}
E[uid].DisplayEmployee();
break;
case '3': // Modify Employee...
if(Geid==0)
{
cout << " \n\nNo Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\nEnter Employee id which you want to Modify : ";
while(1)
{
cin >> uid;
if(uid==0)
exit(0);
if(uid > Geid || E[uid].age==-1)
{
cout << " \n\t!Invalid Employee ID! " << endl;
cout << " \n\tRe-enter Employee ID : " ;
continue;
}
else
break;
}
E[uid].ModifyEmployee();
break;
case '4': // Delete Employee...
if(Geid==0)
58

{
cout << "\n\n No Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}

int delID;
cout << "Enter ID of Employee you want to Delete from record : ";
while(1)
{
cin >> delID;
if(uid==0)
exit(0);
if(delID > Geid || E[delID].age==-1)
{
cout << " \n\t!Invalid Employee ID! " << endl;
cout << " \n\tRe-enter Employee ID : " ;
continue;
}
else
break;
}
E[delID].DeleteEmployee();
cout << "\n\n\t !Employee successfully removed from record!
"<<endl;
break;
case '5': // Search Employee...
if(Geid==0)
{
cout << "\n\n No Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
59

}
cout << "\nEnter Employee id which you want to Search : ";
cin >> uid;
if(uid==0)
exit(0);
if(uid > Geid || E[uid].age==-1)
cout << " \n\t !No Employee exists with this ID! " << endl;
else
{
cout << "\n\t !Search Successful! " << endl;
E[uid].SearchEmployee();
}
break;
case '6': // issue book...
if(Geid==0)
{
cout << "\n\n No Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
if(Gbid==0)
{
cout << "\n\n No Books in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
int ueid;
cout << "\n\t Enter Employee ID who want to issue book : ";
while(1)
{
cin >> ueid;
if(uid==0)
60

exit(0);
if(ueid > Geid || E[ueid].age==-1)
{
cout << " \n\t!Invalid Employee ID! " << endl;
cout << " \n\tRe-enter Employee ID : " ;
continue;
}
else
break;
}

cout << "\n\t Enter ID of Book that you want to issue : ";
while(1)
{
int chk=0;
cin >> uid;
if(uid==0)
exit(0);
for(int a=0;a<y;a++)
if(uid==bidarr[a])
chk=1;
if(chk==1)
{
cout << "\n\t Book Already Issued " ;
BookIssuedBy(uid);
cout << "\n\t Re-enter Book ID : " ;
continue;
}
if(uid > Gbid || B[uid].Cost==-1 )
{
cout << " \n\t!Invalid Book ID! " << endl;
cout << " \n\tRe-enter Book ID : " ;
continue;
}
else
break;
}
E[ueid].IssueBook(uid);
break;
61

case '7': // Return Book...


if(Geid==0)
{
cout << "\n\n No Employee in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
if(Gbid==0)
{
cout << "\n\n No Books in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\n\t Enter Employee ID : ";
while(1)
{
cin >> ueid;
if(ueid==0)
exit(0);
if(E[ueid].iss<1)
{
cout << " \n\t No Book in Employee account" << endl;
cout << " \n\t Re-enter Employee ID : " ;
continue;
}
if(ueid > Geid || E[ueid].age==-1 )
{

cout << " \n\t!Invalid Employee ID! " << endl;


cout << " \n\tRe-enter Employee ID : " ;
continue;
}
62

else
break;
}

cout << "\n\t Enter ID of Book that you want to Return : ";
while(1)
{
cin >> uid;
if(uid==0)
exit(0);
if(uid > Gbid || B[uid].Cost==-1)
{
cout << " \n\t!Invalid Book ID! " << endl;
cout << " \n\tRe-enter Book ID : " ;
continue;
}
else
break;
}
E[ueid].ReturnBook(uid);

case '8': // back to main menu...


break;

default :
cout << "\n No option selected" << endl;
}
if(ch=='8')
{
cont=1;
break;
}
cout << "\n\n\n Want to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
} // while ends...
if(cont==1)
63

continue;
} //if(menu) ends...

else // Book Menu if menu=2


{
while(1)
{
system("cls");
cout << "\n\n\t\t\t BOOK MENU\t\t\t\t (0) To Exit" << endl;
cout << "\t\t\t ---------\n" << endl;
cout << "\t\t\t (1) ADD BOOK " << endl;
cout << "\t\t\t (2) DISPLAY BOOK " << endl;
cout << "\t\t\t (3) MODIFY BOOK " << endl;
cout << "\t\t\t (4) DELETE BOOK " << endl;
cout << "\t\t\t (5) SEARCH BOOK " << endl;
cout << "\t\t\t (6) BACK TO MAIN MENU " << endl;
cout << "\n\n Enter your choice : ";
cin >> ch ;/* read the selection from the keyboard */
switch(ch)
{
case '0': exit(0);
break;
case '1': // Add Book...
B[++Gbid].AddBook();
break;
case '2': // Display Book...
if(Gbid==0)
{
cout << "\n\n No Books in Record " << endl;
cout << "\n\n\n Want to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\n Enter Book id : "; // display book id

while(1)
64

{
cin >> uid;
if(uid==0)
exit(0);
if(uid > Gbid || B[uid].Cost==-1)
{
cout << " \n\t!Invalid Book ID! " << endl;
cout << " \n\tRe-enter Book ID : " ;
continue;
}
else
break;
}
B[uid].DisplayBook();
break;
case '3': //Modify Book....
if(Gbid==0)
{
cout << " \n\n No Books in Record " << endl;
cout << "\n\n\n Want to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\n Enter Book id which you want to Modify : ";
while(1)
{
cin >> uid;
if(uid==0)
exit(0);
if(uid > Gbid || B[uid].Cost==-1)
{
cout << " \n\t!Invalid Book ID! " << endl;
cout << " \n\tRe-enter Book ID : " ;
continue;
}
else
break;
65

}
B[uid].ModifyBook();
break;
case '4': // Delete Book...
if(Gbid==0)
{
cout << "\n\n No Books in Record " << endl;
cout << "\n\n\n Want to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}

int delID;
cout << " Enter ID of Book you want to Delete from record : ";
while(1)
{
cin >> delID;
if(delID==0)
exit(0);
int a,chk=0;
for(a=0;a<y;a++)
{
if(delID==bidarr[a])
chk=1;
else ;
}
if(chk)
{
cout << "\n\t Book Issued.....Can't be Deleted " << endl;
cout << "\n\t Re-enter Book ID : " ;
continue;
}
if(delID > Gbid || B[delID].Cost==-1)
{
cout << " \n\t!Invalid Book ID! " << endl;
cout << " \n\tRe-enter Book ID : " ;
continue;
66

}
else
break;
}
B[delID].DeleteBook();
cout << "\n\n\t !Book successfully removed from record! "<<endl;
break;
case '5': //Search Book
if(Gbid==0)
{
cout << "\n\n No Books in Record " << endl;
cout << "\n\n\nWant to perform any other task [Y/N] : " ;
cin >> task;
if (task == 'Y' || task == 'y')
continue;
else
return 0;
}
cout << "\nEnter Book id which you want to Search : ";
cin >> uid;
if(uid > Gbid || B[uid].Cost==-1)
cout << " \n\t !No Book exists with this ID! " << endl;
else
{
cout << "\n\t !Search Successful! " << endl;
B[uid].SearchBook();
}
break;

case '6': // back to main menu...


break;
default :
cout << "\n No option selected " << endl;
}
if(ch=='6')
{
cont=1;
break;
}
cout << "\n\n\n Want to perform any other task [Y/N] : " ;
67

cin >> task;


if (task == 'Y' || task == 'y')
continue;
else
return 0;
} // while of switch ends...
} //else ends...
if(cont==1)
continue;
return 0;
}
}

Anda mungkin juga menyukai