<<

A GIS TO DEMONSTRATE ANCIENT HARAPPAN

CIVILIZATION

______

A Thesis

Presented to the

Faculty of

San Diego State University

______

In Partial Fulfillment

of the Requirements for the Degree

Master of Science

in

Computer Science

______

by

Kesav Srinath Surapaneni

Summer 2011

iii

Copyright © 2011 by Kesav Srinath Surapaneni All Rights Reserved

iv

DEDICATION

To my father Vijaya Nageswara rao Surapaneni, my mother Padmaja Surapaneni, and my family and friends who have always given me endless support and love.

v

ABSTRACT OF THE THESIS

A GIS Tool to Demonstrate Ancient Harappan Civilization by Kesav Srinath Surapaneni Master of Science in Computer Science San Diego State University, 2011

The thesis focuses on the Harappan civilization and provides a better way to visualize the corresponding data on the map using the hotlink tool. This tool is made with the help of MOJO (Map Objects Java Objects) provided by ESRI. The MOJO coding to read in the data from CSV file, make a layer out of it, and create a new shape file is done. A suitable special marker symbol is used to show the locations that were found on a base map of India. A dot represents Harappan civilization links from where a user can navigate to corresponding web pages in response to a standard mouse click event. This thesis also discusses topics related to Indus valley civilization like its importance, occupations, society, religion and decline. This approach presents an effective learning tool for students by providing an interactive environment through features such as menus, help, map and like zoom in, zoom out, etc. Using a computer simulation is much more engaging and better aligned to the interests of modern students. Moreover, the students also have the ability to customize the application environment to suit their individual interests.

vi

TABLE OF CONTENTS

PAGE

ABSTRACT ...... v LIST OF TABLES ...... viii LIST OF FIGURES ...... ix LIST OF ACRONYMS ...... x ACKNOWLEDGEMENTS ...... xi CHAPTER 1 ANCIENT HARAPPAN CIVILIZATION...... 1 1.1 Introduction ...... 1 1.2 Urban Development ...... 1 1.3 Occupations...... 3 1.4 Society and Religion ...... 4 1.5 Decline of the Civilization ...... 5 2 TECHNOLOGY ...... 6 2.1 Java ...... 6 2.2 Map Objects Java Edition ...... 7 2.3 ABVIEWER ...... 8 3 MAPOBJECTS TOOLBARS ...... 12 4 CUSTOM TOOLBAR ...... 14 4.1 Print ...... 15 4.2 Add Layer ...... 15 4.3 Pointer ...... 16 4.4 Distance Tool ...... 16 4.5 Help Tool ...... 18 4.6 XY Tool ...... 19 4.7 Hot Link ...... 19 5 ADDITIONAL TOOLS ...... 21 5.1 Co-Ordinates Display...... 21

vii

5.2 Help ...... 21 6 SHAPE FILES ...... 23 6.1 Shape File...... 23 6.2 Index File ...... 26 6.3 Dbase File ...... 26 7 DEMONSTRATION ...... 27 8 FUTURE ENHANCEMENTS ...... 31 BIBLIOGRAPHY ...... 32 Works Cited ...... 32 Works Consulted ...... 32

viii

LIST OF TABLES

PAGE

Table 4.1. Custom Toolbar ...... 14 Table 6.1. Description of Shape File Header ...... 24 Table 6.2. Value/Shape Type Mapping ...... 25

ix

LIST OF FIGURES

Figure 2.1. Ancient India DXF file...... 9 Figure 2.2. Using Pen label to create polygon...... 9 Figure 2.3. Creating civilization layer...... 10 Figure 2.4. Drawing polygon...... 10 Figure 2.5. DXf file created with Indus River and Harappa region...... 11 Figure 3.1. Map Objects toolbar...... 12 Figure 4.1. Custom toolbar...... 14 Figure 4.2. Print...... 15 Figure 4.3. Add layer...... 16 Figure 4.4. Pointer...... 17 Figure 4.5. Distance tool...... 17 Figure 4.6. Help tool...... 18 Figure 4.7. XY tool...... 19 Figure 4.8. Hot link...... 20 Figure 5.1. Coordinates display...... 21 Figure 5.2. Help window...... 22 Figure 7.1. Command prompt...... 27 Figure 7.2. Compiling the Java file...... 27 Figure 7.3. Running the Java file...... 28 Figure 7.4. Harappa Civilization with Indus River...... 28 Figure 7.5. Clicking on XY label...... 29 Figure 7.6. Browsing the Harappa.csv file...... 29 Figure 7.7. Displaying Indus Valley cities...... 30 Figure 7.8. Display respective webpage on clicking the Indus Valley cities...... 30

x

LIST OF ACRONYMS

IDE Integrated Development Environment CSV Comma Separated Value GIS Geographic Information Science JSP Java Server Pages ESRI Environmental Systems Research Institute JPEG Joint Photographic Experts Group HTML Hypertext Markup Language PDF Portable Document Format JDK Java Development Kit JAR Java Archive BMP Bitmap Format TIF Tagged Image File GIF Graphics Interchange Format

xi

ACKNOWLEDGEMENTS

I gratefully acknowledge my advisor, Dr. Carl Eckberg for the guidance, support and continual encouragement during the course of study and throughout my thesis work. I would also like to express my sincere thanks to Dr. Joseph Lewis for the kind support and his presence on my thesis committee. Special thanks to Professor Farid Mahdavi from Department of History for taking his time to discuss, explain and critique the work. I am very much thankful to my family and friends for their constant love and support.

1

CHAPTER 1

ANCIENT HARAPPAN CIVILIZATION

1.1 INTRODUCTION Excavations conducted in 1921-22, resulted in unveiling a highly sophisticated and technologically advanced civilization that first developed some 4,500-5,000 years ago. It was thought to have been confined to the valley of the river Indus; hence the name given to it was Indus Valley civilization. The Indus Valley (Harappan) Civilization flourished between 2600-1900 BC. The Indus Civilization was twice as extensive as two earlier civilizations, the Old Kingdom of Egypt and the Sumerian city-states. Very little is known of how and why this civilization came about, but it was a highly developed urban civilization. The Indus Civilization built the first cities in the Indian subcontinent, sophisticated and technologically advanced urban centers. Two of its towns, the ancient cities Harappa and Mohenjodaro (both now in Pakistan) represent high watermarks of the settlements. Subsequent archaeological excavations established that the civilization was spread to a wide area in northwestern and western India. Thus this civilization is known as the Harappan civilization [2, 4, 6]. The quality of municipal town planning suggests the knowledge of urban planning and efficient local government which placed a high priority on hygiene and public access to the means of religious ritual.

1.2 URBAN DEVELOPMENT The emergence of this civilization is as remarkable as its stability for nearly a thousand years. Mohenjodaro and Harappa developed on the banks of the navigable rivers, Indus and Ravi respectively. They covered 2 sqm and had a population of 30,000. Mohenjodaro being the older city was rebuilt nine times in its 800 years. Harappa was developed as a second capital. All the cities were well planned and were built with baked bricks of the same size [2, 3]. The streets were laid at right angles with an elaborate system of covered drains. There was a fairly clear division of localities and houses were earmarked for the upper and lower

2

class of society. There were also public buildings, the most famous being the Great Bath at Mohenjodaro and huge granaries built at each city. The advanced architecture of the Harappans is shown by their impressive dockyards, granaries, warehouses, brick platforms and protective walls. The massive walls of Indus cities most likely protected the Harappans from floods and may have dissuaded military conflicts. The twin cities hosted fully developed urban societies supported by rural villages around large urban centers [2, 8]. The prominent common features of the twin cities are as below: 1. The Citadel, or the real capital: Situated on high grounds, on the west side of the river, with fortified walls, large structures, palatial residences of nobles and high priests, a great bath and the granary. 2. Lower City: East-West and North-South alignment with grid iron streets showing definite hierarchy (14m to 3m width), elaborate covered drainage (separate sewers and storm water drains) with maintenance manholes. Earth ware pipes from residences connected to the drainage system, collected in soak pits at low areas for partial purification, before letting out to the river. Residences had brick lined wells of 1m diameter. 3. Housing: Single room to multi room residences, palatial structures with courtyards and outer walls, all made of fired bricks. Separate privies and baths were attached to houses. was another popular town during the Harappan period. The city’s houses had mud brick walls to escape flood. Lothal was zoned into industrial, commercial and residential areas. The city was known for its trading in ivory, and warfare objects. However, the city was lost in an invasive destruction from 2000 BC to 1900 BC Urban-Rural relationship in Harappan times: The Indus Valley is comprised of a few large cities, a number of small towns and a very large number of rural villages. The cities and the villages had a common language, religions, customs and belief. The people also followed similar cultural practices. While the cities had political and economic leadership, it was made sure that there existed a mutual co-operation between them, thus ensuring no conflict of interest between city and country. Villages were predominant centers for agriculture, pottery and ordinary industry while the cities were the centers for producing a variety of goods ranging from luxury items, rich clothes and artistic ware to metal works and tools.

3

Sanitation System: The ancient Indus systems of sewerage and drainage that were developed and used in cities throughout the Indus region were far more advanced than any found in contemporary urban sites in the Middle East and even more efficient than those in many areas of Pakistan and India today. The Indus Valley Civilization boasted of the world's first urban sanitation systems [2]. Within the city, individual homes or groups of homes obtained water from wells. There were specific rooms that were set aside for bathing and the waste water was directed to covered drains which lined the major streets [7].

1.3 OCCUPATIONS Evidence also points to the use of domesticated animals, including camels, goats, water buffaloes and fowls. The Harappans cultivated wheat, barley, peas and sesamum. They probably were the first to grow and make clothes from cotton. Trade seemed to be a major activity at the Indus Valley and the sheer quantity of seals discovered suggest that each merchant or mercantile family owned its own seal. These seals are in various quadrangular shapes and sizes, each with a human or an animal figure carved on it. Discoveries suggest that the Harappan civilization had extensive trade relations with the neighboring regions in India and with distant lands in the Persian Gulf and Sumer (Iraq) [2, 3, 8]. Trade and Transport: The Indus civilization's economy appears to have depended significantly on trade, which was facilitated by major advances in transport technology. These advances included bullock carts that are identical to those seen throughout South Asia today, as well as boats. Most of these boats were probably small, flat-bottomed craft, perhaps driven by , similar to those one can see on the Indus River today; however, there is secondary evidence of sea-going craft. Archaeologists have discovered a massive, dredged canal and docking facility at the coastal city of Lothal [6, 7]. During 4300 - 3200 BC of the chalcolithic period (copper age), the Indus Valley Civilization area shows ceramic similarities with southern Turkmenistan and northern which suggest considerable mobility and trade. During the Early Harappan period (about 3200-2600 BC), similarities in pottery, seals, figurines, ornaments etc. document intensive caravan trade with Central Asia and the Iranian plateau [2, 6].

4

Judging from the dispersal of Indus civilization artifacts, the trade networks, economically, integrated a huge area, including portions of Afghanistan, the coastal regions of Persia, northern and central India, and Mesopotamia [2, 6]. There was an extensive maritime trade network operating between the Harappan and Mesopotamian civilizations as early as the middle Harappan Phase, with much commerce being handled by "middlemen merchants from Dilmun" (modern Bahrain and Failaka located in the Persian Gulf). Such long-distance sea-trade became feasible with the innovative development of plank built watercraft, equipped with a single central mast supporting a sail of woven rushes or cloth [3, 6]. Several coastal settlements like Sotkagendor (astride Dasht River, north of Jiwani), Sokhta Koh (astride Shadi River, north of Pasni) and Balakot (near Sonmiani) in Pakistan along with Lothal in India testify to their role as Harappan trading outposts. Shallow harbors located at the estuary of rivers opening into the sea allowed brisk maritime trade with Mesopotamian cities [3, 6].

1.4 SOCIETY AND RELIGION The Harappan people and their culture are considered as a product of the Indian subcontinent and a foundation for the composite Indian culture. The race is composed of Proto Australoid, Mongoloid and Alpine origin and a dominant proportion is of the Mediterranean race. Harappans existed 1000 years before early Aryans and Dravidians who lacked the sophistication of urban spatial planning present in the Harappan cities. There is a minor diffusion of ideas seen in their settlements but that doesn’t suggest the direct inheritance [2]. The Harappan society was probably divided according to occupations and this also suggests the existence of an organized government. The figures of deities on seals indicate that the Harappans worshipped gods and goddesses in male and female forms and also evolved some rituals and ceremonies. No monumental sculpture survives, but a large number of human figurines have been discovered, including a steatite (soap stone) bust of a man thought to be a priest, and a striking bronze . Countless terra-cotta statues of a Mother Goddess have been discovered suggesting that she was worshipped in nearly every home [2, 4].

5

The agrarian people settled in fertile plains on river banks. They depended on natural irrigation and cultivated barley, wheat, peas, sesamum, cotton and rice. They reared sheep, cattle, buffalo, dogs, camels and pigs. Copper and bronze were used for tool making. Jewelers used gold, silver and bronze and the vessels were made of terracotta art and cotton textile industries were also in existence. Systems of weights and measurements based on binary and decimal systems are evident [2].

1.5 DECLINE OF THE CIVILIZATION By about 1700 BC, the Harappan culture was on the decline, due to repeated flooding of towns located on the river banks and ecological changes which forced agriculture to yield to the spreading desert. Some historians do not rule out invasions by barbarian tribes of the northwest as the cause of the decline. When the initial migrations of the Aryan people into India began about 1500 BC, the developed Harappan culture had already been practically wiped out [1, 5]. The Indus Valley people were most likely Dravidians, who may have been pushed down into south India when the Aryans, with their more advanced military technology, commenced their migrations to India [1, 5]. The demise and eventual disappearance could be due to invasive destruction or cataclysmic blow that struck the Indus Valley, floods, weak agricultural technology, decline in land fertility, droughts, lack of agricultural surplus, overcrowding and lack of defensive structures.The Harappan cities came to an end by 1800 BC. The high sophistication attained during the Harappan times was never repeated [5].

6

CHAPTER 2

TECHNOLOGY

Java, Map Objects Java Edition and ABViewer are the software’s that are been used to develop this software tool and this chapter mainly explains about these three technologies that were used in bringing up this thesis into complete shape.

2.1 JAVA Java is a general-purpose, concurrent, class-based, object-oriented programming language that is specifically designed to have as few implementation dependencies as possible. Java is currently one of the most popular programming languages in use. It is widely used from application software to web applications. Following are the advantages:  Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn compared to other programming languages. Java is much simpler than C++ is because it uses automatic memory allocation and garbage collection where as C++ requires the programmer to allocate memory and to collect garbage.  Java is object-oriented because programming is centered on creating objects, manipulating objects, and making objects work together. This allows you to create modules and reusable code. One of the most significant advantages of Java is it is platform independent.  Distributed computing involves several computers on a network working together. The Java language is designed to make distributed computing easy with the networking capability that is inherently integrated into it.  An interpreter is needed in order to run a Java program. The programs are compiled into Java Virtual Machine code called byte code.  Java is one of the first programming languages to consider security as part of its design. The Java programming language, compiler, interpreter, and runtime environment were each developed with security in mind.  Robust means reliable and no programming language can really assure reliability. Java puts a lot of emphasis on early checking for possible errors, as its compilers are able to detect many problems that would first show up during execution time in other languages.

7

 Multithreading is the capability for a program to perform several tasks simultaneously within a program. In the Java programming language, multithreaded programming has been smoothly integrated into it, while in other languages, operating system-specific procedures have to be called in order to enable multithreading. Multithreading is a necessity in visual and network programming.  Java applications can be easily deployed by using executable java archives, i.e. jar files.

2.2 MAP OBJECTS JAVA EDITION Map Objects Java Edition can be used to build custom applications that incorporate GIS and mapping capabilities or can be used to extend the capabilities of existing applications. Map Objects Java Edition is one powerful collection of client and server side components used to build custom, cross platform mapping and GIS applications. It offers more precise control over the behavior of the applications, a user can make up his application by adding only those features that he require, (Geographic Information System ) In Diego State University, there is a course which covers Map Objects in depth and has published Notes On Map Objects Java Edition, by Dr.Carl Eckberg, which was one of the main criteria for choosing Map Objects. The combination of Java and Map Objects allows almost unlimited customization, and easy deployment. Important features, as cited from Map Objects Java Edition brochure are the following:  Applications which are built using Map Objects Java Edition can support activities such as labeling map features, thematic mapping, panning and zooming through multiple map layers, specifying projections, querying spatial and attribute data, performing geometric operations, measuring distances, displaying real time geographic data, and creating layouts, creating shape files, projecting on particular locations.  One can easily distribute Map Objects Java Edition applications over an internet or intranet through browser hosted applets or simplify web delivery of your application with the use of Sun Java web start technology, the industry standard launching mechanism for distributing Java applications over the web, One can use custom created web pages to display the information related to the topics.  By using the rich Swing components included with Map Objects Java Edition, you can quickly build applications that include functional toolbars, dynamic symbol control, query dialogs, overview and insert maps, and intelligent legends, Pop up windows, alert boxes, java panes which have ability to display multiple format of data that make your custom applications easy to use and even easier to develop and easy to understand.

8

 By using applications created with Map Objects Java Edition, end users can combine local data with Internet and Intranet data to create their own customized maps and easily integrate these maps with different locations corresponding to the map projected using comma separated value files which is having latitude and longitudes of the locations , it also supports different data formats including shape files, ArcSDE layers, ArcIMS image and feature services, image formats such as BMP, TIFF, PNG, JPG, GIF. Generally these image formats comes into picture when we try to create different toolbars which is having its own image to recognize ,You can also use Map Objects Java Edition to access files from your own custom data sources for easy integration.  The server side map component in Map Objects Java Edition allows developers to build map services, Java Server Pages (JSPs) and Servlets, or custom Enterprise JavaBeans (EJB) Web based mapping applications. Several extensive sample applications based on JSPs and EJBs are provided to demonstrate how to build robust Web applications with the server side map objects.  The different Map Object packages that contains many pre executed classes which are used to create various tools makes developer’s job very easy to develop this software tool.

2.3 ABVIEWER ABVIEWER is CAD software used to design and customize different types of Image files like .JPG, .DXF , .PNG and so on. An Ancient Indian shape file is required to depict the Harappan civilization. A shape file can be created from .DXF file. With the help of ABVIEWER software, an Ancient Indian DXF file comprising of Harappan civilization and Indus River was created. Then this DXF file was converted to a SHP file (see Figure 2.1). Now using the Pen function to draw a polygon which represents the Ancient Harappan civilization as shown in Figure 2.2. Draw a closed polygon indicating the region of Harappa civilization. Then add this polygon to the Harappan civilization layer (see Figure 2.3). Now again draw a closed polygon representing the Indus river. Also add this polygon to Harappa civilization layer (see Figure 2.4). Now Save the DXF file with all the layers. Convert this DXF file to shape file (see Figure 2.5).

9

Figure 2.1. Ancient India DXF file.

Figure 2.2. Using Pen label to create polygon.

10

Figure 2.3. Creating Harappa civilization layer.

Figure 2.4. Drawing Indus River polygon.

11

Figure 2.5. DXf file created with Indus River and Harappa region.

12

CHAPTER 3

MAPOBJECTS TOOLBARS

Map Objects Java Edition provides multiple beans which can be dragged and dropped using Net beans IDE, onto the workspace to provide basic functionality. Toolbars are the beans which can provide commonly used functions such as zoom in, zoom out etc. (see Figure 3.1). This chapter discusses how these toolbars have been integrated into the GIS tool. This chapter explains about the functionality of each tool.

Figure 3.1. Map Objects toolbar.

COM.ESRI.MO2.UI.TB.ZOOMPANTOOLBAR: The Zoom Pan Toolbar uses functions provided by the Zoom Pan Toolbar Actions class. It allows an end-user to work on the map with different options. The actions supported by the Toolbar include:  Zoom In – When user selects Zoom In Tool, it Provides a functionality as clicking or dragging a rectangle on the map in order to zoom in. You can also select the tool and click on the area you want to Zoom In.  Zoom Out – Provides a tool for clicking or dragging a rectangle on the map in order to zoom out.  Zoom To Selected – Zooms the map to the extent of all selected features in the selected layer.  Zoom To Full Extent – Zooms the map to the extent of all layers within the map.  Go Previous – Zooms to the previous extent stored in the extent history.  Go Next – Zooms to the next extent stored in the extent history.  Pan – Provides a tool for dragging the map to a new location without altering the zoom level.

13

 Pan One Direction – Pans the map in one of four directions North, South, East, West.  Identify – Performs an Identify on the specified selected layer, provides a tool for clicking on features in the map, and displaying attributes about those features. COM.ESRI.MO2.UI.TB.SELECTIONTOOLBAR: This Toolbar provides functions that perform future selections based upon an attribute or query.  Find – Opens a dialog for locating features whose attributes contain an end-user provided string.  Search – Opens a dialog for locating features based on a predefined “stored query”.  Query – Opens a dialog for locating features based on a query that an end – user constructs.  Select – Provides a tool for selecting features by rubber banding a shape in the map.  Buffer – Opens a dialog for constructing a buffer polygon around the currently selected features.  Attributes – Displays attributes of the currently selected features. COM.ESRI.MO2.UI.TB.LAYERTOOLBAR: This tool provides functionality to the user to add or delete the selected layer. An add layer tool is in the custom based Toolbar which can be seen in the next chapter , A delete tool is in File Menu Option.  Add Layer – Adds a new layer to the Table of Contents (Toc).  Delete layer – Removes a layer from Table of Contents (Toc).

14

CHAPTER 4

CUSTOM TOOLBAR

In addition to the toolbars provided by Map Objects in chapter 7, custom toolbars were created to make easy interface to the user and to enhance the usability of the GIS tool. We have used code to show how this can be achieved. The custom toolbar in map looks like snapshot in Figure 4.1.

Figure 4.1. Custom toolbar.

The tools which are added in the first set of the toolbar are custom tools, and this chapter clearly explains functionality of each tool (see Table 4.1).

Table 4.1. Custom Toolbar Number Tool Class Name Name 1 Print com.esri.mo2.ui.bean.Print 2 Add com.esri.mo2.ui.tb.LayerToolBar Layer 3 Pointer . java 4 Distance DistanceTool.java 5 Help Help. java 6 XY AddXYtheme.java 7 Image Image. java Link 8 Hot Link Hotlink. java

15

4.1 PRINT This tool provides the user functionality for printing the map, when a user clicks on this tool a general Print dialog opens up which gives the user options for printing (see Figure 4.2). The following code explains how this tool has been implemented: com.esri.mo2.ui.bean.Print mapPrint = new com.esri.mo2.ui.bean.Print(); mapPrint.setMap(map); mapPrint.doPrint();

Figure 4.2. Print.

More customized print tool could be done with Java print facilities.

4.2 ADD LAYER This tool allows the user to add a new layer to the table of contents. The user can switch on different layers by checking the checkbox in Table of Contents. Following is the code: AddLyrDialog aldlg = new AddLyrDialog(); aldlg.setMap(map); aldlg.setVisible(true);

16

This will call the AddLyrDialog class which has the code to display the dialog box and allow the user to select the different shape file (see Figure 4.3).

Figure 4.3. Add layer.

4.3 POINTER When a user selects any tool and want to get back to a normal state with no tool action then a user needs to click on the Pointer tool, this mainly sets the pointer to normal state while losing its previous tool functionality (See Figure 4.4). The following code explains how this tool has been implemented. History.hot=false; History.web=false; map.setSelectedTool(arrow); This code makes the image and hot link tools lose their functionality.

4.4 DISTANCE TOOL This tool provides the user a functionality to calculate the distance between any two locations, distance can be seen on the bottom status bar in miles and kilometers (see Figure 4.5). The following code explains how this tool has been implemented. DistanceTool distanceTool = new DistanceTool(); map.setSelectedTool(distanceTool);

17

Figure 4.4. Pointer.

Figure 4.5. Distance tool.

18

4.5 HELP TOOL This is the most useful tool for the end user which provides the functionality of a Java pane with a text area explaining about all other tool functionalities, if the user faces problems in determining the functionality of any tool then if a user clicks on the help tool and then right clicks on any other tool, a pop up pane will display explaining about the functionality of the tool and how the tool exactly works (see Figure 4.6). This was developed by keeping in mind about the end users who are not aware of GIS knowledge. Following is the code that explains how the tool has been implemented. Class HelpWindow extends JFrame implements ActionListener public void actionPerformed(ActionEvent ae) this.setVisible(false); helpOn = false;

Figure 4.6. Help tool.

So the logic behind this implementation is that whenever the user clicks on the help tool, and immediately any other tool than it displays the pop window, if the user clicks on any other tool without clicking the help tool, then that tool’s normal functionality will come into picture.

19

4.6 XY TOOL This tool allows user to project the locations on to the map, when the user clicks on this tool it will pop a file chooses dialog box where in user can choose the file present on the pc. Generally the file should be a comma separated value format (.CSV) which will have latitude and longitude, immediately after choosing the file the user can see the projects on the map with some symbol color (see Figure 4.7). Following is the code that explains how the tool has been implemented. AddXYtheme addXYtheme = newAddXYtheme(); addXYtheme.setMap(map); addXYtheme.setVisible(false); map.redraw();

Figure 4.7. XY tool.

4.7 HOT LINK This tool provides the functionality to display the web pages of particular locations projected on map through which user can navigate to the respective web page containing all the information ancient Harappa period, when user clicks on Hot link tool and clicks on any projected point on the map then a custom created webpage will pop up showing the location images and video along with all the information (see Figure 4.8). webjb.addActionListener( new ActionListener() public void actionPerformed(ActionEvent ae)

20

Figure 4.8. Hot link.

21

CHAPTER 5

ADDITIONAL TOOLS

In addition to the MOJO tools and Customized tools there are additional features that can help the end user to get more interacted with the Map , two of them are Co-Ordinates Display and Contact Us Icon.

5.1 CO-ORDINATES DISPLAY Co-Ordinates Display is not a physical tool in the toolbar to select, but it is functionality of the pointer that tracks the co-ordinates on Map and displays in the bottom status bar, it has been implemented from the MOJO class Guide by Dr.Carl Eckberg. It appears at the bottom of the frame (see Figure 5.1).

Figure 5.1. Coordinates display.

5.2 HELP Contact Us is the file menu option that will pop up a window containing information about the help topics, about us and contact information. Help topics gives information about

22

the websites where the user can find the latitude and longitudes of different locations that can be used in .csv file to project on to the map (see Figure 5.2).

Figure 5.2. Help window.

23

CHAPTER 6

SHAPE FILES

The information is stored in the form of shape files. The shape files describe the geometric feature and associated attribute information stored in digital vector storage format. The shape files primitively store geometric data types of Points, Lines or Polygons in the form of a table record [2]. The shape files describe the information such as geometric location and associated attribute information for spatial features stored in digital vector storage format. The user can easily represent the geographical data using the basic shapes along with their attributes stored in the table. The complexity of computation is reduced to a big extent using just a representation for geographical data. In terms of space, the shape files require less disk space and the read and write operations are simple and easy using shape files. The shape files comprise of three mandatory and several optional files. The three mandatory files are as follows:  .shp - the file that stores the feature geometry.  .shx - the file that stores the index of the feature geometry.  .dbf - the file that stores attributes of the features in a simple spreadsheet/database format.

6.1 SHAPE FILE The format of the shape file is .shp. A shape file is a variable record length file. A direct-access to the stored records, which contain the description of the shape along with its vertices, is provided. The structural organization of the shape file comprises of a single fixed length header followed by one or more variable length records. Each of these records consists of a record header component and a record contents component. The main header is 100 bytes (in length) and contains about 17 fields (9 fields each 4 bytes + 8 field each eight bytes). The representation is shown in Table 6.1 and 6.2. A variable length record header is 8 bytes in length and mainly comprises of two fields which contain data for record number and content length. There is a 1:1

24

Table 6.1. Description of Shape File Header Position Field Value Type Order Byte 0 File Code 9994 Integer Big Byte 4 Unused 0 Integer Big Byte 8 Unused 0 Integer Big Byte 12 Unused 0 Integer Big Byte 16 Unused 0 Integer Big Byte 20 Unused 0 Integer Big Byte 24 File Length File Length Integer Big Byte 28 Version 1000 Integer Little Byte 32 Shape Type Shape Type Integer Little Byte 36 Bounding Box Xmin Double Little Byte 44 Bounding Box Ymin Double Little Byte 52 Bounding Box Xmax Double Little Byte 60 Bounding Box Ymax Double Little Byte 68* Bounding Box Zmin Double Little Byte 76* Bounding Box Zmax Double Little Byte 84* Bounding Box Mmin Double Little Byte 92* Bounding Box Mmax Double Little

25

Table 6.2. Value/Shape Type Mapping Value Shape Type 0 Null Shape 1 Point 3 PolyLine 5 Polygon 8 MultiPoint 11 PointZ 13 PolyLineZ 15 PolygonZ 18 MultiPointZ 21 PointM 23 PolyLineM 25 PolygonM 28 MultiPointM 31 MultiPatch

26 correspondence between the shape type in the main file header and its contents in the variable length record.

6.2 INDEX FILE The format of the index file is .shx. An index files entry points to the corresponding record in the .shp file. This is done through an offset in the index file record which relatively maps to the corresponding record in the .shp file. The index file header is identical to the shape file header. The file length stored in the header is the total length of the file which is in 16 bit words.

6.3 DBASE FILE The extension of the dBase file is .dbf. The dBase table gives the details of the features record in a dBase table defines attributes. Record number is used to map geometry records with attribute records. Thus, the order of records in the dBase file should be same as the order of records in the main file. The file can be opened and read using Microsoft Office Excel. Two tables can be joined using the attribute key. The main requirements for a dBase table are:  There should be one record per shape feature in the table.  The order of the records is defined by the order of the shape features in the main file.  The prefix of the file name should be same as the prefix of shape and index file. Also the suffix should be .dbf.  An ESRI white paper giving these details can be found at the ESRI website.

27

CHAPTER 7

DEMONSTRATION

While compiling this java file we need to open a command prompt (see Figure 7.1) and use the following commands.

Figure 7.1. Command prompt.

Navigate to the folder where we copied Map Objects Java Edition , .java file is stored in Examples folder (See Figure 7.2).

Figure 7.2. Compiling the Java file.

28

After compiling the java file, .class file will be created in the same folder. Now we need to Run the file (see Figure 7.3).

Figure 7.3. Running the Java file.

When the file runs perfectly without error user can see Figure 7.4.

Figure 7.4. Harappa Civilization with Indus River.

Now Click on XY label to add the Geo-coordinates of Indus Valley Cities (see Figure 7.5).

29

Figure 7.5. Clicking on XY label.

Now browse for the Harappa.csv file to load the Geo coordinates of Harappan Cities (see Figure 7.6).

Figure 7.6. Browsing the Harappa.csv file.

30

Now the Indus Valley cities would appear on the figure (see Figure 7.7).

Figure 7.7. Displaying Indus Valley cities.

Now on clicking any of the Harappan Cities their respective webpage is displayed (see Figure 7.8).

Figure 7.8. Display respective webpage on clicking the Indus Valley cities.

31

CHAPTER 8

FUTURE ENHANCEMENTS

There is always room for future enhancements for any project. The information can be retrieved in the form of different shape files. This thesis project used the shapefile provided by ESRI. Many of the web pages are user created keeping in mind the target user. The web pages can be changed in accordance with the need by the end user. These web pages can be linked via hotlink tool. Thus, the end user can enhance the data with the data that he/she wants. At present the data is for Harappan Civilization, but more data can be appended in the same project by adding more web pages and links. This can be helpful in teaching. The functionality of the software product can be enhanced by adding new features which are as follows:  Add support to show the images of Indus Valley cities in on placing the mouse pointer.  Add more customized web pages.  Extend the software to support different languages.  Provide a quiz for “Self testing.”

32

BIBLIOGRAPHY

WORKS CITED [1] E. Bryant. The Quest for the Origins of Vedic Culture: The Indo-Aryan Migration Debate, Oxford University Press, Oxford, England, 2001. [2] R. D. Datta. The Indus Valley Civilization, Oxford & IBH Publishing, New Delhi, India, 1996. [3] J. Hawkes. The First Great Civilizations: Life in Mesopotamia, the Indus Valley, and Egypt, Alfred A. Knopf, New York, NY, 1973. [4] J. M. Kenoyer. Ancient Cities of the Indus Valley Civilization, Oxford University Press, Oxford, England, 1998. [5] J. R. McIntosh. A Peaceful Realm: The Rise and Fall of the Indus civilization, Westview Press, Boulder, CO, 2002. [6] S. Ratnagar. Encounters: The Westerly Trade of the Harappa civilization, Oxford University Press, Oxford, England, 1981. [7] P. C. Rissman. Harappan Civilization and Oriyo Timbo, Oxford & IBH Publishing, New Delhi, India, 1990. [8] R. E. M. Wheeler. Civilizations of the Indus Valley and Beyond, McGraw-Hill, New York, NY, 1966.

WORKS CONSULTED S. Banala. GIS software to demonstrate Indian history (Delhi Sultanate), Master’s thesis, San Diego State University, San Diego, CA, 2011. Cache of seal impressions discovered in Western India offers surprising new evidence for cultural complexity in little-known Ahar-Banas culture, circa 3000-1500 B.C. University of Pennsylvania, Jun. 5, 2003. http://www.upenn.edu/researchatpenn/ article.php?674&soc, accessed November 2010. Deleting all hyperlinks from a Microsoft Office document. Sniptools, Jan. 9, 2003. http://sniptools.com/tipstricks/deleting-all-hyperlinks-from-a-microsoft-office- document, accessed November 2010. C. Eckberg. Notes on MapObjects Java edition, CS537 handout, San Diego State University, San Diego, CA, 2011. ESRI Shapefile technical description: An ESRI white paper. Environmental Systems Research Institute, n.d. http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf, accessed November 2010.

33

Indus Valley civilization. Indohistory.com, n.d. http://www.indohistory.com/indus_valley_ civilization.html, accessed November 2010. J. M. Kenoyer. Mohenjo-Daro: An ancient Indus Valley metropolis. Harappa.com, n.d. http://www.mohenjodaro.net/mohenjodaroessay.html, November 2010. H. Pinto. Indus Valley: Indus Valley civilization. Brhectorshistoryworld.blogspot.com, Jun. 22, 2009. http://brhectorshistoryworld.blogspot.com/2009/06/indus-valley.html, accessed November 2010. U. M. Shamsi. GIS Applications for Water, Wastewater, and Stormwater Systems, CRC Press, Boca Raton, Florida, 2005. The ancient Indus civilization. Harappa.com, n.d. http://www.harappa.com/har/ indussaraswati.html, accessed November 2010. Wiki. Wikipedia, n.d. http://en.wikipedia.org/wiki/Wiki, accessed November 2010.