You are on page 1of 3

Total Marks: 100

Deadline: 3rd Jan, 2014 (Friday 11:55 pm) via LMS

GIS-821 Advanced Geodatabase and Programming Assignment Explore geospatial programming environments for example Python can be used for geospatial programming. Briefly identify the other platforms which are available. Also mention whether the programming can be done within a specific GIS tool and/or separately using existing libraries or modules. (20) GIS deals with raster and vector datasets. What specific modules are required for programming both raster and vector data. Hint (How about GDAL and OGR)? Find other similar libraries. Give a consideration to both open source and proprietary products. (20) You are often required to make a connection between a front-end and a backend. Why do you think its important to establish this link when programming for geographical applications? List the famous DBMS with embedded spatial support both open-source and commercial. (20) Data conversion is a fundamental operation when performing GIS tasks. You may not get the data in your desired format. Find out what are the different options available to convert the data from one form to the other. For instance, shape file can be converted to oracle spatial format. (10) Write the pseudo code of converting a shape file to a KML file. (You dont need to detail the logic of conversion but mention the essential steps). (10)

Page 1 of 3

ER Modeling (10 + 10) Create an ER model for the following two scenarios. Make sure that you read the description carefully. Your diagram should reflect all entities, attributes, and relationships mentioned in the text. You may need to add a primary key (a unique identifier) if one hasnt already been specified in the instructions. Scenario 1: Inventory and Parts The Monster Car Company produces specialty vehicles by contract, all with the Monster theme. The company operates several departments, each one of which builds a particular vehicle, such as a truck (which they call Truckasaurus), limousine (Limosaurus), a van (Vanasaurus), or an RV (for some reason, Buddy). When a new vehicle is built, the department places an order with the Purchasing Department to request specific components. The Purchasing Department is interested in creating a database to keep track of orders and to accelerate the process of delivering materials. Each division submits its own part orders to Purchasing. Each order can contain multiple parts. The information recorded for each order includes an order date and the name, email address, and phone number of the contact person in the originating department. A part is defined by its name, the companys internal part number, and a description of the part. Also, the inventory level for each part is tracked so that the department knows when they need to restock in order to maintain immediate order fulfillment. When an order comes in, the parts on that order are checked to determine whether the requested items are in inventory. If an item is not in inventory, it must be ordered from a supplier. Data for each supplier includes its name, address, phone number, and account manager. Each part may be sourced from several suppliers, which sell multiple parts to the Monster Car Company. Finally, suppliers have their own part numbering schemes. The id numbers for the same part may be different across suppliers. The database should keep track of suppliers part numbers and relate them back to the car companys own internal part number. For example, the car company may refer to part hex widget as 101, but supplier 1 may call it 201 and supplier 2 may call it 804.

Page 2 of 3

Scenario 2: Housing Authority The Big City public housing agency has assigned you the task of keeping track of who is living in the agency's developments over time. The agency needs a database that allows them to capture this information. The city has three public housing developments. You want to record their names, locations, the year they opened, their height in stories, and the number of units. For each unit in the development, you want to keep track of the number of bedrooms, the number of bathrooms, whether the unit has a kitchen or living room, and the square footage. You also need to keep track of the people living in each unit. The basic unit of residence is the household, and there is a limit of only one household per unit at a time (although multiple households would occupy the unit over time). Each household can be made up of one or more residents, and a resident can only be part of one household. For each resident, record their name, date of birth, gender, and indicate whether or not they are they are the head of the household (more than one person can be the head of household). You also want to keep track of when a household moved into and out of a unit. You want to be able to track households as they move from one unit to another or from one development to another. Therefore, you can describe the occupancy of a household in a unit as having a start date and an end date. If they are currently living in the unit, the end date would be left blank.

Page 3 of 3

You might also like