Keng-Pin Chang (kchang@swatek.com.tw)
Masters Thesis, University at Buffalo Department of Geography, August 1997
This master's thesis was developed as part of J.B. Krygier's research on Public Participation Visualization.
2.1.1 Graphic Snapshots of pre-generated maps
2.1.2 Spatial Database Catalogs and Libraries
2.1.5 Real-time Maps and Images
2.1.6 Choosing a Development Platform for the Current Project
2.3 Object-Oriented Programming Language (OOPLA)
2.4 The Community Profile of the Lower West Side in City of Buffalo
3. The Methods of Web-based GIS
3.1 How does Web-based GIS Work
3.2. The Basic Functions of MapObjects and MapObjects Internet Map Server
3.2.1 The Basic Functions of MapObjects
3.2.2 The Basic Functions of MapObjects Internet Map Server
3.3 Requirements for Using MapObjects Internet Map Server
3.3.1 The Technology about MapObjects and MapObjects Internet Map Server
3.3.2 Hardware and Software Setting
3.3.3 Setting the Esrimap.ini File
4. Map Preparation and Prototype Programming
4.1.4 Attribute Editing and Table Join/Link
4.1.5 The Maps for the Lower West Side Project
4.2.1 Setting Up the Environment for Programming
4.2.4 Create HTML Documents and URL
4.2.5 Request Event and Form_Load Event
4.2.6 Extract Extent and Display by Scale
4.2.7 Zoom In, Zoom out, and Pan
4.2.12 Submit Commands and Change Attributes
4.2.13 Multiple Data Searching
4.2.14 Display Attributes and Statistics
4.3 The Experiences of Programming a Web-based GIS Prototype
A Geographic Information System (GIS) is an organized collection of computer hardware, software, geographic data, and personnel designed to efficiently capture, store, update, manipulate, analyze, and display many forms of geographically referenced information (ESRI, 1995). GIS has been widely used in solving a variety of planning problems. Together with the use of the Word Wide Web (WWW), GIS could be further developed to allow many more people to have access to GIS functionality and to enhance community participation in planning.
The rapid growth of the Internet provides highly customized, accessible, and interactive sources of public information and is changing the ways that people capture and manipulate spatial information. It is expected that the implementation of Web-based GIS could provide interactive mapping and spatial analysis capabilities for enhancing public participation and collaboration in decision-making processes. A public participation approach situates GIS analytical tools within an expanded framework of communication and discourse, opening opportunities for public participation (NCGIA, 1996). "Public Participation GIS" (PPGIS) is conceived broadly as an integrative and inclusive process-based set of methods and technologies amenable to public participation, multiple viewpoints, and diverse forms of information (Krygier, 1997a). Technological developments have made public participation GIS possible only recently (Krygier, 1997b).
Little is known about the technologies and theories that will enable such participatory activities. What role do the Internet and WWW play as effective media for public participation? What are the technical, practical, and theoretical issues raised in providing access to database and GIS tools relevant to particular decision problems? Moreover, as the need to expand the access to spatial information for participatory kinds of activity and personal use increases, more and more researchers are recognizing the need for a new kind of GIS (Nyerges and Barndt, 1997).
This research will address the issue of Web GIS and PPGIS and detail the implementation of technology which can be used to support community participation. The study contains two parts. The first part focuses on the investigation of theoretical and technical concepts for Public Participation Geographic Information Systems (PPGIS) and Web-based GIS. The second part will concentrate on developing Web-based GIS technology, which could be used to widen public participation in a community setting. A case study will serve as the basis of the investigation. It is possible to use one community as a case study for Public Participation GIS because such a community can serve as the most basic level for participation in public affairs. The case study area in this research is the Lower West Side Community in the City of Buffalo, NY.
This research has examined the particular software, hardware, and institutional requirements for WWW-based mapping and GIS. A prototype has been developed to test the feasibility and technological requirements for providing interactive mapping and geographic information system capabilities via the World Wide Web. This prototype can be accessed at http://mapper.geog.buffalo.edu/scripts/esrimap.dll?name=Studyarea&Cmd=Map
[Back to Top]
The Internet and Web-based GIS are an effective medium for public participation GIS. However, Web-based GIS is not a single technology. These technologies related Web-based GIS include Object-Oriented Language, GIS package and language, HTML, CGI, and the theories about Public Participation GIS. (see a list of the related theories, technologies, and examples).
It is important to define the different forms Web-based GIS can be before selecting a form appropriate for any given application. There are currently five forms of Web-based GIS applications: graphic snapshots (maps), spatial database catalogs and libraries, map generators, real time map browsers, and real time maps and images (Pima County CAD/GIS, 1997).
2.1.1 Graphic Snapshots of pre-generated maps [Back to Top]
A graphic snapshot of pre-generated map is the easiest way to put a map image on the web. The procedure to create such snapshots is relatively easy and quick:
Snapshots allow easy, widespread access. Raster formats such as GIF have limited resolution and do not allow pan, zoom, or interactive use. Other forms of map images include GIF images, GeoTIFF for Arc/Info 7.1 and Arcview 3.0, CGM images, and DXF or DWF for AutoCAD images (Pima County CAD/GIS, 1997). The University of Arizona Santa Rita Experimental Range (GIF) has an on-line example at: http://ag.arizona.edu/SRER/.
2.1.2 Spatial Database Catalogs and Libraries [Back to Top]
A spatial database catalog or library has four components: metadata (information about the spatial data), index map (showing locations of other maps), graphic previews (static snapshots, such as GIF images), and spatial data in a digital format. Users can download these files but generally can not browse them directly in their web browser. The spatial data usually contain Arc/INFO export format (.e00 files), ArcView Shape files, AutoCAD DWF files, and SDTS (Spatial Data Transfer Standard), etc. Spatial database catalogs and libraries have the following advantages: access to metadata for queries, access to preview images, access to actual data for further analysis, and a relatively simple environment for publishing data (Pima County CAD/GIS, 1997).
Spatial Database Catalogs and Libraries are implemented through use of a consistent index and search strategy based on the Hyper-Text Transfer Protocol (HTTP) and Z39.50 Search and Retrieve protocols. The WWW provides single-click access to specific files on the network, but provides no inherent search capability. Some search services (e.g. Infoseek, Excite) have been developed to alleviate this problem. However, the scopes of searching services are very broad and provide no geographic search capabilities. The WAIS software underlying protocol- Z39.50, provides search capability, but has no browse capability. WAIS allows multiple server connections to be handled by the client (or gateway process) so that one query can be passed to multiple servers at the same time Through the complementary use of WWW and WAIS technology, an increasing number of agencies are able to index stores of spatially-indexed information for discovery and retrieval on the Internet (Nebert, Douglas D. 1995). The Federal Geographic Data Committee (FGDC) had used the Z39.50 protocol to develop a server that enables public search for digital spatial data at registered National Spatial Data Infrastructure (NSDI) Clearinghouses. The on-line example is on URL: http://fgdclearhs.er.usgs.gov/.
2.1.3 Map Generators [Back to Top]
Map generators use a web-based browser form. The user enters specifications such as location, thematic layers and symbols on the form. The form is passed to the web server. A gateway at the web server passes the request to a GIS server. For instance, the gateway could pass the request in the form of AML to an Arc/INFO server. The Arc/INFO server generates a graphic file, which is converted to a GIF image. The GIF image is sent back to the client and viewed using native browser capability. The advantage of map generators is creating custom maps on the demand of users. Disadvantages include lack of access to the raw spatial data, typically-slow speed, limited predefined user choices, and involved setup (Pima County CAD/GIS, 1997). The U.S. Census Bureau's Tiger Mapping Service is a good example of a map generator. The URL is http://tiger.census.gov/.
2.1.4 Real-time Map Browsers [Back to Top]
Real-time map browsers provide access to very large spatial databases and allow users to browse, display, query, retrieve, and update maps on line. Real-time browsing requires a powerful spatial data server and clients. The server provides a CGI scripts for receiving request from clients and does spatial analysis based on the request from clients. After data processing, the spatial data server will later send image and data to clients by HTML documents. Systems for implementing interactive maps include ESRI's Spatial Database Engine (SDE), ESRI's Map Objects, and Autodesk's MapGuide technology for interactive authoring, publishing, serving and browning of map information. MapGuide is a dynamic map interface that displays vector-based maps with multiple layers. (Pima County CAD/GIS, 1997).
Real-time browsing requires a powerful spatial data server. ESRI has an on-line demo for Real-time Map Browser development tools- MapObjects Internet Map Server and ArcView Internet Map Server on URL: http://www.gis.pima.gov/webdev/pubmeth/realtime.htm.
2.1.5 Real-time Maps and Images [Back to Top]
Real-time maps and images use online sensors to supply information to the map. Instead of providing real-time browsing of a static map, a real-time map is generated from sensor data. There may be a lag of a few minutes, but the idea is to show current status. Real-time images are captured by live video cameras, often called webcams, communicating to a web server. They include terrestrial cameras as well as satellite based imaging. Satellite photos can provide data that is overlaid on a static map. Webcam techniques include video cameras that are (Pima County CAD/GIS, 1997):
The Arizona Department of Transportation has implemented the Trailmaster
Freeway Management System that has a demo for real-time traffic speed maps and
image: http://www.azfms.com/Demo/demo.html
All five technologies discussed in the previous section can serve maps and images on the Web and may be useful for public participation. The Snapshot approach is very easy to implement, but does not allow pan, zoom, or interactive use. The spatial database catalog or library is used to distribute data to users via WWW. It is powerful for data searching, but does not match the need for interactive mapping or other GIS functions. Real Time Maps and Images are exciting and interesting. However, they are not a mature technology and are expensive to implement. Map generator is similar to Real Time Map Browsers, but Real time map browsers have better supports for programming GIS and CGI functions. Consequently, the Real Time Map Browsers technology was chosen to implement the prototype for Web-based GIS project.
[Back to Top]
Increased public involvement in the definition and analysis of questions tied to location and geography is the domain of Public Participation GIS (PPGIS). This approach facilitates the meaningful introduction of appropriate forms of spatial information and related technology for widening public participation in the Policy-making process (NCGIA, 1996). This participant-driven framework should be capable of representing diverse views without forcing premature resolution of contradictions, inconsistencies and disputes as they arise.
Contexts for introducing Public Participation GIS would include community economic development, environmental dispute resolution, participatory planning, and other activities involving public collaboration. Technologies chosen or developed to support this approach can be designed to document and record the problem resolution process, allowing evolving priorities and problem definitions to be tracked by all participants. Sandman (1993) has identified nine publics relevant to discussion about community problems. The publics include: neighbors, concerned citizens, technical experts, media, activists, elected officials, business and industry, and local, state and federal government regulators (Nyerges and Barndt, 1997). A public participation approach would situate GIS analytical tools within an expanded framework of communication and discourse, opening opportunities for public participation across the processes of problem definition and problem resolution (NCGIA, 1996).
Recent discussions presented at the NCGIA Initiative 19 specialists' meeting (GIS and Society) and at the annual meeting of the Association of American Geographers have identified a set of questions concerning future development of the tools of spatial analysis in relation to their public context. Similar themes were addressed at NCGIA Initiative 17 (Collaborative Spatial Decision-Making). The discussions of public participation GIS have been directed toward various of partial outcomes, such as the development of more user-friendly interfaces, network access to GIS, use of GIS as a communications medium, data creation based on local knowledge and sketchmap capacity, public access to digital data archives, and the inclusion of groups often marginalized by the costs or expertise requirements of information technology (NCGIA, 1996).
State of the art Web-based GIS technology can play an important part in the development of Public Participation GIS and Personal GIS (Nyerges and Barndt, 1997). Moreover, Public Participation GIS and Personal GIS would be capable of managing and integrating all data components and participant contributions from one interface. Components would include e-mail, access to data archives, presentation of parallel texts and counter texts in diverse media, real-time data analysis, standard base maps and data sets, sketch map and field note capabilities (Schroeder, 1995).
2.3 Object-Oriented Programming Language (OOPLA)
[Back to Top]It is widely accepted that we see the world in terms of objects. Our view of world is object-oriented, not tabular (Kainz and Shahriari, 1993). The research on object-orientation approaches has four main topics: data modeling, programming languages, database management systems and user interfaces (Maguire, 1994). In the GIS industry, there has been little success in developing a 'real' Object-oriented GIS (OOGIS), but there are some powerful object-oriented programming languages embed in different GIS software. In an object-oriented approach, there are three data types and five operating characteristics that are most important basic elements and operations. The data types include object, class, and instance. The five characteristics of an object-oriented system contain abstraction, inheritance, encapsulation, polymorphism, and dynamic binding (Zhan and Mark, 1992). These elements construct a powerful environment for application development.
In 1997, ESRI release MapObjects to support mapping and GIS components for application developers. MapObjects is an object-oriented language that is independent from GIS software. It consists of an Object Linking/Embedding (OLE) Control and a collection of programmable OLE Automation objects, which let application developers add mapping and GIS capabilities to applications. It means that programmers can develop their application in the standard development environments, such as Visual Basic, Visual C++, and PowerBuilder. The applications built by MapObjects can be used independently. The end users do not need to purchase expensive GIS software to run the applications. Programmers use an object-oriented language to develop a prototype rapidly and modulate the system later based on the users' requirements is a relatively new approach. In this project, I use MapObjects and MapObjects Internet Map Server as development tools for building a WWW-based GIS for community participation.
2.4 The Community Profile of the Lower West Side in the City of Buffalo
[Back to Top]The City of Buffalo has experienced dramatic population loss, losing nearly one half of its population since 1950. Overall, population shifts have resulted from permanent outmigration from the region and from out migration from the City to the suburban ring. However, although total population has dropped over the last decade, the number of households within the region has remained relatively stable. Buffalo has also experienced an increase in minority population and is highly segregated by race. The spatial distribution of income and race shows great disparity across the City, with the City's poor and minority population concentrated in the City's lower west side and east side (Office of Community Planning and Development, U.S. Department of Housing and Urban Development, 1997).
The Lower West Side has historically served as a gateway to the City of Buffalo. It was the initial destination for many European in the 19th and early 20th centuries and currently functions as a primary point of entry for immigrants from Puerto Rico, Latin America, and Southeast Asia. Due to its role as an entry point for recent immigrants to the city, the neighborhood has typically been home to a working class population. As jobs have been lost, the role of the Lower West Side has been in transition. According to the 1990 Census, the population is down more than 50% from its peak of 26,445 in 1940. In 1990, nearly half of the residents in the community had income below the poverty level (Shibley, 1994).
The problems of the urban poor may well be exacerbated by the changes brought by new electronic technologies for computation and communication, which are having profound consequences on the nature of employment, the make-up of the work force, and the structure and function of cities. The fear is that many of the have-nots such as the urban poor, will be left behind by such rapid changes. There are five initiatives provided by Donald A. Schon et al. for the beneficial use of computers and electronic communications on the part of low-come communities (Schon, 1996.):
The Internet is a worldwide network. The potential for public use is vast. With the development of WWW-based GIS, the functions of a traditional GIS package are made available to anyone with access of the WWW.
The Lower West Side in Buffalo is a mature neighborhood. Although the Lower West Side is one of the poorest areas of the city, it retains vibrancy not found in many neighborhoods. It is the heart of Buffalo's Hispanic community, and the city's most racially diverse neighborhood. Based on the work of the Urban Design Project, the City of Buffalo is now exploring the improvement of commercial development, urban design and the stabilization of the surrounding neighborhoods in the Lower West Side (Shibley, 1994). The Lower West Side provides a good case study for using high technology to improve low-income community. In this project, I will focus on developing a WWW-based GIS prototype to help the community to access the new GIS and WWW technology. The prototype will serve to assess the feasibility of www-based GIS in such contexts. Future development basis on the prototype may stabilize the neighborhood and to provide mutual help, community participation, and information exchange between community residents and public agencies for the Lower West Side.
3. The Methods of Web-based GIS
[Back to Top]3.1 How does Web-based GIS Work
There are many different products that can be used to implement Web-based GIS as described in section. They include MapGuide, MapObjects, ProServer, GeoMedia Web Map, Spatial WebBroker, APPIAN "Carta", Spatial Net and CARIS Internet Server.
Vendor |
Product Name |
Vector/Raster/Both |
Server OS |
Vector |
Win NT 3.51 |
||
Both |
Win NT |
||
Vector |
Win NT/95 |
||
Both |
Windows NT |
||
Both |
UNIX type |
||
Vector /Both |
UNIX type |
||
Both |
Win NT, SUN Solaris, HP-UX |
||
Both |
UNIX |
Table by Langaas, 1996
Web-based GIS users can use a Web browser to navigate maps and do basic spatial analysis. A user enters specifications such as location, thematic layers, or searching requests on the web page to set up the environment for mapping or searching. Users can also click buttons to start display commands such as zoom in, zoom out, identify, pan, query, etc. The requests from user will be sent to clients by way of HTML forms. The form is passed to the web server. A gateway at the web server passes the request to a GIS server. For instance, the gateway could pass the request in the form of HTML to a MapObjects Internet Map Server. The MapObjects Internet Map Server then generates a graphic file that will be converted to a GIF image or JPEG image. The GIF or JPEG image is later sent back to the client and viewed by the users with a standard web browser.
The basic series of steps is:
1.Create the form.
2.Pass the arguments to a script (CGI).
After receiving requests the server will then:
1.Process the spatial analysis or Mapping request.
2.Make the necessary map and translate it to a BMP file.
3.Translate the BMP file to JPEG or GIF file.
4.Serve the image and data listing by HTML.
The MapObjects Internet Map Server can be used to solve a wide variety of Internets and Intranet needs. All of the features and functionality of MapObjects can be used to deliver dynamic maps and other information via the Internet. Using MapObjects and the MapObjects Internet Map Server, programmers can build mapping and GIS applications that reside on their Web server and deliver dynamic maps and data. The MapObjects Internet Server manages the requests, providing efficient and scaleable request handling.
Currently, two varieties of raster image formats are widely supported on the World Wide Web: CompuServe's popular Graphic Interchange Format (GIF) and the Joint Photographic Experts Group (JPEG) based format JFIF. The ESRI WebLink ActiveX control ships with methods to convert Windows bitmap files-exported by the Map control-into either of these two formats. The WebLink control method BMP2GIF generates a GIF file given a source BMP file and similarly, the method BMP2JPEG generates a JFIF format JPEG file. Both of these formats greatly reduce the size of the image data through compression and thus reduce the time required to send the data across the Internet.
3.2 The Basic Functions of MapObjects and MapObjects Internet Map Server
[Back to Top]3.2.1 The Basic Functions of MapObjects
GIS handle spatial manipulation of cartographic data together with attribute data. While the spatial manipulations of data can be used for many different analyses, they all begin whit two rather basic questions (Huxhold, 1991):
1. Where is . . . (an object)?; and
2. What is at . . . (a location)?
A GIS should provide different spatial analysis functions to answer these two questions. MapObjects is a mapping and GIS component control that can be embedded in many object-oriented programming languages. It has good flexibility for programmers to create different GIS application. MapObjects provides the following functions (ESRI, 1996c):
Map Drawing
Display a map with multiple map layers, such as roads, streams and boundaries.
Pan and zoom throughout a map.
Draw graphic features such as points, lines, circles and polygons.
Draw descriptive text.
Feature Selection
Identify features on a map by pointing at them.
Select features along lines and inside boxes, areas, polygons, and circles.
Select features within a specified distance of other features.
Select features with an SQL expression.
Spatial Querying and Statistics
Calculate basic statistics on selected features.
Query and update attribute data associated with selected features.
Render features with thematic methods such as value maps, class breaks, and dot density.
Label features with text from field values.
Image Integration
Draw imagines from aerial photography or satellite imagery.
Event Tracking
Dynamically display real-time or time-series data.
Geocoding
Type in an address and find a location on a map.
MapObjects has provided the basic functions to integrate mapping and spatial querying functions into programming languages. It is true that MapObjects does not support as many GIS analysis functions as Arc/Info or ArcView does. However, MapObjects does provide programmers with a basic tool for embedding GIS components into applications, something that was not available until recently. Programmers can also design advanced GIS analysis function in this flexible development environment.
3.2.2 The Basic Functions of MapObjects Internet Map Server [Back to Top]
The MapObjects Internet Map Server (IMS) is a product for web authors who wish to make dynamic maps available from their web sites. The product consists of a web server extension, programmable objects that extend MapObjects, and step by step instructions for building an application that can serve maps to Internet clients. The IMS also includes source code that can be used to create an Active X control or a Java applet so that programmer can customize them to suit their needs (ESRI, 1996a). The basic functions of MapObjects Internet Map Server can be described as follows:
Creating Maps
There are two ways to initialize the MapObjects map control with data. A programmer may either create a DataConnection object and use it to connect to a database to find GeoDataset objects, or may interactively select data through the map control's property sheet. The CreateMap Sub procedure generates temporary file names for a BMP file and a GIF file. It exports the map to BMP and later converts the BMP to GIF and sends that to the clients.
Creating HTML
HTML stands for Hypertext Markup Language. It is a system of marking up, or tagging a document so that it can be published on the World Wide Web. We can use HTML to implement simple controls for manipulating the map. WebLink has a method called WriteString that is used to create HTML. The URL syntax that the client uses to make a request is parsed into named arguments by the WebLink control and passed to the server as object types.
Controlling the Extent of the Map
This function is used for specifying a particular extent for the map. The user can send a request from a Web Browser to display a map using a specific extent.
Zooming
By embedding this function into application, end user can zoom into the map simply by clicking on the image inside the client web browser.
Enhancing the Map
IMS also supports the appearance of the maps. Programmers can add background, an outline, new map data, and labels. It also supports scale-dependent layer display.
Finding a Place by Name
The request Find can help users to locate spatial entities on the map by selecting or typing geographic names.
Identifying Features
Identifying a feature map by clicking on a location of interest will bring the end users the attribute data.
Hyperlink
A popular method to implement a hyperlink is to provide a client side image map which specifies active areas as rectangles or polygons. Each area has a corresponding URL and when a click occurs on an area, the web browser opens the URL.
Active X control
ActiveX mapping control can communicate with a MapObjects Internet Map Server application. ActiveX control provides some rudimentary properties, methods, and events for mapping.
Java applet
Programmers can build their own client-side Java Applet to communicate with a MapObjects Internet Map Server application. ESRI provides the applet using for user interface of applications.
MapObjects Internet Map Server has provided the basic functions to integrate mapping and spatial querying functions into WWW. Experience shows that it is a good tool for programmers to embed basic GIS components into applications for Web publishing. Programmers can also design advanced Web pages by combining Java applets or Active X controls in their applications.
3.3 Requirements for Using MapObjects Internet Map Server
[Back to Top]3.3.1 The Technology about MapObjects and MapObjects Internet Map Server
MapObjects is an OLE Control for mapping and GIS. It is built upon Microsoft's Object Linking and Embedding (OLE) 2.0 standard and bundles over 35 programmable OLE automation objects. OLE is the most widely supported object-based software integration architecture available today. An OLE Control is a reusable software component. OLE Controls can package a number of other OLE objects into a single bundle. These bundles encapsulate a specific set of functionality and can be plugged directly into a wide variety of standard OLE applications. OLE automation objects have events, properties, and methods that are used programmatically to control their appearance, behavior, and interactions (ESRI, 1996c).
The MapObjects map control plugs directly into the tool sets of many standard development environments. These objects provide application developers with powerful mapping and GIS capabilities. Because MapObjects is an OLE Control, it can be used in a wide variety of development frameworks including popular programming environments such as Visual Basic, Delphi, Visual C++, Microsoft Access, Visual FoxPro, and others. Programmer can also combine MapObjects with components from other vendors, such as graphing, multimedia, and database objects to build the application for the specific requirements of end-users (ESRI, 1996c).
MapObjects Internet Map Server extends the power of MapObjects to serve maps over the Internet. Applications built with the MapObjects Internet Map Server extension can access spatial data formats supported by MapObjects such as shapefiles, coverages, SDE layers, and many graphic images. In addition, MapObjects Internet Map Server includes a Web server extension that works with Netscape Server and Microsoft Internet Information Server. The Web server extension provides a unique framework for request management and load balancing that provides fast, efficient, and scaleable map serving capability (ESRI, 1996a).
3.3.2 Hardware and Software Setting [Back to Top]
MapObjects and applications built with MapObjects are targeted for the Microsoft Windows 95 and Windows NT 3.51 operating systems. Applications built with MapObjects will not run under Windows 3.x or earlier versions of Windows.
Processor: Intel 486DX 33 MHz
Operating System: Windows NT 3.51 or higher, Windows 95
Disk Storage: 10 MB
Memory: 8 MB
To develop applications with MapObjects and MapObjects Internet Map Server, programmers must use a development environment that supports OLE 2.0 controls. These include Visual Basic 4.0, Visual C++ 4.0, Delphi 2.0, and PowerBuilder. Web clients can be any standard Web browsers that support HTML such as Microsoft Internet Explorer or Netscape Navigator. The Web server may be Microsoft Internet Information Server or Netscape Server running on Windows NT. The Web server and the mapping application may reside on different machines, allowing mixed configurations.
MapObjects Internet Map Server assumes that programmers will work on the Window NT sever to develop their web applications. In most of cases, it is not a problem. However, because of network security, some programmers may not have the permission to work on the server; they are only allowed to work on the clients. In this case, the programmer can not use MapObjects Internet Map Server to develop their applications.
3.3.3 Setting the Esrimap.ini File [Back to Top]
The web server extension uses a simple text file to list the maps that are available for Internet clients. The file is called esrimap.ini. The esrimap.ini file should contain variables: Server- the URL and port of server, Timeout- the number of seconds a request waits on a map server before it decides that the server is too busy, and Retry- the number of times to attempt to connect to a map server, before deciding that the server is down. Some important details about the .ini file include:
4. Map Preparation and Prototype Programming
[Back to Top]
This research examines the particular software, hard ware, and institutional requirements for WWW-based mapping and GIS. A prototype has been developed to test the feasibility and technological requirements for providing interactive mapping and geographical information system capabilities via the World Wide Web. This prototype can be accessed at http://mapper.geog.buffalo.edu/scripts/esrimap.dll?name=Studyarea&Cmd=Map.
The process to develop this prototype includes map preparing and prototype programming.
4.1 Map Preparation
[Back to Top]I used two maps in this project. One shows parcel data and the other shows building boundaries in a subset of the Lower West Side of Buffalo. The source maps were from a planning project and are stored as .eps file.
The process to prepare maps for the WWW-based GIS project is as followed:
4.1.1 Data conversion [Back to Top]
The .EPS file is a kind of postscript file that can be read in Adobe Acrobat Reader or some graphics/image processing tools, such as Corel Draw or Ghostview. The users can convert .eps files into .gif files by using Corel Draw or Ghostview. ArcView can read .gif or .bmp files. I use the .gif files converted from .eps files as the background to digitize the map into vector format. Because the source file puts all the different type of entities in the same layer, the digitizer should distinguish them into different layers according to themes.
If your original maps are in ARC/INFO coverages format, you can use the ARC/INFO Cover to ArcView Shape Tool in ARC/INFO ArcTools to convert them to ArcView shape files. In addition, you can use the ArcView Shape to ARC/INFO Cover Tool to convert ArcView shape files to ARC/INFO coverages for further processing such as coordinate transformation.
4.1.2 Map Digitizing [Back to Top]
ArcView allows a user to edit a theme that is based on an ArcView shapefile. Using New Theme and Edit function in ArcView can digitize the spatial features. There are three feature types: point, line, and polygon. Users can choose one of them to edit. The Drawing tool palette can be used to draw new features. A Shapefile can only contain one feature type. Choosing "Save Edits" from the Theme menu will save all edits that are made in the theme during the current edit session. The map can be stored in an ArcView Shapefile by choosing the "Save Edits" As option from the Theme menu or using the "Convert to Shapefile" function. In addition, the user can also choose some other GIS tools to edit the map and later convert it into an Arcview Shapefile.
4.1.3 Coordinate Transform [Back to Top]
Since some maps may be from different resources, their coordinate systems could be different. Although ArcView provides some abilities to show maps in different projections, it does not change their coordinate systems. This could cause some problems in map overlay. The Transform tool in Arc/Info converts coverage coordinates from one coordinate system to another through translation (shift), rotation, and scaling. Transformation is not a projection. Transformation uses a linear formula to transform Cartesian coordinates in the x- and y-axes. There are three type of coordinate transformations that can be use: affine, projective, and similarity.
Before using transform, the output coverage must exist with a TIC file containing x, y values in real world coordinate units. The coverage to transform must contain coordinates in digitizer units. Corresponding tics must have the same Tic-IDs in order to compare the input coverage tics to those of the output coverage. The calculated transformation is applied to all features coordinates in the coverage to transform (input coverage) as they are copied to the coverage to create (output coverage). More information on this routine is found in ARC/INFO Version 7.1.1 on line help.
4.1.4 Attribute Editing and Table Join/Link [Back to Top]
To add a field to the table you are editing, choose "Add Field" from the Edit menu. When you add a field to a table, a dialog appears that asks you to specify the new field's name, type and length. You choose from four different field types: number, string, Boolean, and date. To delete a field, click on its name in the table to make it active, then choose "Delete Field" from the Edit menu. There is no "Undo" to this operation; once a field is deleted it is no longer accessible in the table. To add records to the table you are editing, choose Add Record from the Edit menu. To delete records from the table you are editing, select the records you wish to delete and then choose "Delete Record" from the Edit menu.
You can join a table to another table based on the values of a common field found in both tables. Join establishes a one-to-one or many-to-one relationship between the destination table and the source table. It is an easy way to add the attribute data from other resources to your map. Join establishes a one-to-one or many-to-one relationship between the destination table and the source table. If you want to establish a one-to-many relationship between the destination table and the source table, you should link the tables instead of joining them.
4.1.5 The Maps for the Lower West Side Project [Back to Top]
In this application one parcel map and one building boundary map have been created for the prototype. The parcel map contains the parcel number, address, owner's name, SBL number, land use, etc. The parcel and buildings maps were converted from an eps. file and edited and digitized in Arc/View. The attribute data of parcel map was created by a able join with the parcel data from the City of Buffalo. I also use ArcView to add some fields in the .shp file. These fields include the URL addresses for owner's homepages and house's photographs, comments, and an index for comments. The building layer contains the spatial feature data. The detailed information about house condition, price, built year could be added after survey.
4.2 Programming the Prototype
[Back to Top]4.2.1 Setting Up the Environment for Programming
In this application, MapObjects, WebLink, and Microsoft Visual Basic were used to build an prototype that can serve maps for public participation. A community resident will be able to use an industry-standard web browser to view the maps and information that the application generates. To develop this application, the programmer should have knowledge of MapObjects, HTML, and ArcView. Knowledge of Visual Basic and Arc/Info would also be useful. Visual Basic, MapObjects, and MapObjects Internet Map Server are combined together as a CGI language to work on the response for different requests from clients.
The first step to implement the application was to start Visual Basic and add ESRI MapObjects and ESRI WebLink (a control used for MapObjects Internet Map Server) into Visual Basic Tools- Custom Controls. Then we must use the Toolbox to lay out the forms for maps and set up the WebLink Control and port. The port, URL, and the name for applications must be registered in the esrimap.ini file.
The next step is creating maps. There are two ways to initialize the MapObjects map control with data. You may either create a DataConnetion object and use it to connect to a database to find GeoDataset objects, or you may interactively select data through the map control's property sheet. For more detail, please see chapter 2, "Getting Started with MapObjects Internet Map Server" (ESRI, 1996a).
4.2.2 WebLink Control [Back to Top]
The server-side mapping application that you develop incorporates the MapObjects map control and the WebLink control. The communication between the web extension and the application is encapsulated by the WebLink control, which fires an OLE event in response to receiving URL requests from the extension. The Start method in WebLink control is used to start listening for requests from the Internet Server on the Port specified by the MapPort property. The LocalIP property returns or sets the local IP address that this link will bind to and the MapPort property returns or sets the TCP/IP address that this link will listen to.
The WebLink object's Request event occurs when a remote server makes a request; it passes arguments and values as two MapObjects String collections. Programmers can use the WriteFile, WriteResponseHeader, and WriteString methods together with the procedures controlled in the Request event to start different GIS functions for Web browsers. The BMP2GIF method converts a Windows Bitmap file that represents a Map to a GIF file of the same name. The BMP2JPEG method converts BMP files to JPEG files. In order to make use of BMP2GIF in the WebLink control, programmers must invoke the EnableGIF with a valid license code. The Stop method suspends listening for Internet Server requests and terminates any previously established connection (ESRI, 1996a).
4.2.3 Creating Maps [Back to Top]
The CreateMap Sub procedure generates temporary file names for a BMP file and a JPEG file. It exports the map to BMP and later converts the BMP file to a JPEG file and finally sends that to the clients.
4.2.4 Create HTML Documents and URL [Back to Top]
The URL syntax that the client uses to make a request is parsed into named arguments by the WebLink control and passed to you as object types.
The WebLink control provides some methods for writing HTML codes and text:
With these three methods, WebLink Active X control can send HTML documents to web browsers. We can gain the value of variables by putting an "&" in front of and behind a variable; this is a good way for programmers to put attribute data into HTML documents.
The <FORM ACTION> tag and <INPUT> tag are syntax in HTML. A <FORM ACTION> tag is responsible for capturing data from clients and forwarding it to the sever. It will be triggered when a click occurs inside the image. The <INPUT> tag makes the actual map image a form input inside the HTML document.
The syntax that is used in URL includes three parts: .dll, name, and Cmd (or some other arguments).
This is standard syntax for specifying an extension for Microsoft Internet Information Server. The URL should show where the ESRI .dll file is and have a question mark for connecting with other URL syntax. For example: http://mapper.geog.buffalo.edu/scripts/esrimap.dll?
The name specifies the application that should receive the request from clients. The name corresponds to the names listed in the esrimap.ini file. The name argument must immediately follow the ?.
This syntax is using to specify arguments or parameters. The programmer must decide what arguments are supported by the application. Each argument is followed by "=" and then its value. Arguments are separated by "&". The URL may contain as many arguments as are needed, but may not contain any spaces. All the spaces in a URL must be convert into "+" signs.
4.2.5 Request Event and Form_Load Event [Back to Top]
The prototype uses HTML to implement controls for manipulating the map and attribute data. The request event is the most important event in the WebLink control. It is responsible for handling the different requests from users by parsing the URL and choosing the corresponding procedure for further analysis. The Find method in the Strings Collection Control is used to find and evaluate the value of arguments that are passed from the clients.
Form_Load Event is a event of Visual Basic Form. This event is checked when the Visual Basic Form starts. Form_Load Event is used to start WebLink and prepare the environment for the map drawing. In this application, the Form_Load event was used to start Weblink, set up minimum width for zooming, assign the path for temporary files, labels, and add symbols for drawing the map background and outline.
4.2.6 Extract Extent and Display by Scale [Back to Top]
A Rectangle Object represents a geometric shape with four edges and four right angles. Programmers can return the dimensions of a Rectangle Object with the Height and Width Parameters and return its Center as a Point Object. The Top, Left, Bottom and Right Properties can be used to set and return a Rectangle's position and dimensions (ESRI, 1996b).
In this application, Rectangle Object is used to represent the geometric shape of the maps. The Top, Left, Bottom, and Right properties are gained from the arguments supplied by the clients to set up the spatial extent. The Extract Extent Function will set up the extent of maps in the WebLink Request event before map is drawn. In addition, MapObjects also provides a ScaleRectangle Method to change the extent of a Rectangle Object by a specified factor.
The visibility of each map can be controlled in the BeforeLayerDraw Event. The Map.Layers Property can control different map layers. Programmer can manipulate MapLayer objects using standard collection methods (for example, the Add and Remove methods). Each layer in the collection can be accessed by its index (ESRI, 1996b). The width, height parameter and the Top, Left, Bottom and Right Properties in the Rectangle Object can be used to set up the conditions for visibility of layers. Using these conditions, layers can be set to be visible or invisible based on scale.
4.2.7 Zoom In, Zoom out, and Pan [Back to Top]
Zoom In, Zoom Out, and Pan are the basic visualization functions for most GIS. Zoom In provides a simple way for users to see more detailed spatial information. To make the Zoom In function work, select the Zoom In radio button and click on the map where you want to zoom. Pan is a function for moving the display area of spatial data by click a point. The centroid of the map will move to the new point.
Zoom In Sub Procedure is controlled by the WebLink Request event. Zoom In Sub Procedure will call a Function named ConvertClick to gain the map coordinates. The ConvertClick function checks the "click" location and converts it to control coordinates.
The control coordinates will later be converted to map coordinates in the same function. The Zoom In Sub Procedure accept three arguments- ext, x, and y from URLs passed by clients. "Ext" is the Rectangle of map, and x and y represent the click location. The ScaleRectangle Method scales a Rectangle object by a specified factor. It determines the rates of Zoom In. The Offset method will move the map by a specified offset. In this application, the offset is determined by the centroid of the map and the click location. The programming codes in Zoom Out and Pan functions are almost the same as the codes in Zoom In function. The difference is that setting for ScaleRectangle. The factor in Zoom In function should be less than 1; the factor in Zoom Out should be greater than 1; and the factor in Pan should be equal to 1.
4.2.8 Find [Back to Top]
Find is a function which allows the user to find a specific spatial entity, such as the name of the owner of the parcel. In this application, the user can type the owner's name in the text box on the HTML document, and get the location of properties owned by the individual. In addition, the Find function can also be used to search on other attribute data in .shp file like address, SBL, and land use, etc.
The SearchExpression Method is used to create a Recordset from an ANSI SQL statement. The Recordset is the key object for interacting with the information in a MapLayer (ESRI,1996c). After the Weblink Request Event receives and parses the arguments and value sent by <FORM> in HTML code from clients, the WebLink control's Request Event will call the DoFind sub procedure to process the arguments and value. The SearchExpression Method will search the .shp file by a specified SQL statement and the value sent by clients. The result of searching will be collected as a MapObjects Recordset. There is a special field in every Recordset called "Shape". This field represents the geometry of the features in the GeoDataset. The programmer can use "Shape" to get the collected spatial data and display it by the Map.DrawShape method. The attribute data can be displayed by Map.DrawText method. Both the DrawShape method and the DrawText method are used in the Map_AfterTrackingLayerDraw event.
4.2.9 Identify [Back to Top]
Identifying is a function which allows the user to find a specific spatial attribute in an entity by clicking the parcels or spatial entities in the map image. The user can select from one of several items in the popup menu, and get the result by clicking one parcel on the map.
The identifying procedure uses MapObjects SearchShape Method to create a Recordset object of all features that meet both the spatial search criteria specified by search methods and logical search criteria in an expression. The moPointInPolygon is one of the search methods in SearchShape. It is used to return polygon features that contain the first coordinate of the search feature (ESRI, 1996b). Using SearchShape and moPointInPolygon methods, the programmer can get a Recordset of the clicked spatial entity.
To find different items in attribute data, the programmer can set a variable which allows the user to select one of the several items in HTML document. The <Select> tag in HTML can help users to select an item and input it by a <Form> tag into the server. The server will capture it and use the DoIdentify Sub procedure to search for the specific item in the parcel. Since some items have the same value in the .shp file, we can not use the selected item for searching. In the prototype, the SBL is a unique ID number in the parcel data. The programmer can use it to search the attribute data needed. The DoIdentify Sub Procedure will capture the SBL number from the parcel that was clicked. According to the SBL number, the DoIdentify Sub Procedure will find the attribute data of the parcel and send it to the clients.
4.2.10 Full Extension and Clear Map [Back to Top]
Full Extension handles a full display of a map. When users need an overview of all the spatial information, the full extension could be useful to them.
The programmer can do it by writing an <A HREF> tag in WebLink.WriteString method. Setting the <A HREF> tag to the URL for starting program will be setting the map to the initial condition. For example, the URL for starting this prototype is http://mapper.geog.buffalo.edu/scripts/esrimap.dll?name=Studyarea&Cmd=Map.
To clear the label and color on the specific parcel of map, programmer can set the text for label to "" and set the specific polygon to "nothing". Then redraw the map by DrawShape method and DrawText method.
4.2.11 Hyperlink [Back to Top]
HyperLink is a function for users to access additional information on different WWW pages. The DoHyperlink Sub Procedure will check what parcel was clicked and captures the URL from the .shp file. The HTML command- "Location:" is used to go to different web pages. Using WebLink.WriteResponseHeader method to set "Location" to the selected URL, new Hyperlink will be built. For example, after you selecting the radio for link and clicking the parcel which address is 339 Niagara, the web page for this parcel will show up.
4.2.12 Submit Commands and Change Attributes [Back to Top]
The Input function is used to change attributes of the .shp file. The Comments function is used to submit comment to house owners. Both functions are intended to enhance the interactivity and public participation component of the site. The Comments function provides a means for users to comment on particular parcels of land or buildings, a means of monitoring the neighborhood for problems. The Comments function will be accessible to all site users. The Input function is intended to provide neighborhood planners with a means to add and change information in the database. The Input function would be restricted to specified users by setting password for specific users.
In the DoInput Sub Procedure, the programmer can use SearchExpression and SBL number to identify a specific parcel. The results of searching will be collected in a Recordset object. If the Recordset is updateable, we can set the Edit method on the Field and update it by the Update method.
Before running the DoComments Sub Procedure, the programmer can use ArcView to add new fields to the .shp file for comments. The new comments can be sent to owners by ways of SearchExpression and SBL number. To avoid endless increasing of the size of data, the current implementation used a queue and index pointer for new comments. When the queue is full, the new comments will be added to the first comment record. The index pointer will move to next record sequentially.
4.2.13 Multiple Data Searching [Back to Top]
Multiple Data Searching is used to search for items that have the same value. For example: one owner could have many properties; a specific type of crime may occur in many different places; and the same land use may exist in different areas. Multiple Data Searching is used to help users find those data and show them on different locations.
The Multiple Data Searching is similar to the Find function. The programmer can use SearchExpression method and SBL number to collect a specific Recordset. The DoJEPGforFind Sub Procedure will use a "While....Wend" loop in Visual Basic and MoveNext method in MapObject.Recordset to search for different parcels that have the same owner whose name is inputted by the Find function.
4.2.14 Display Attributes and Statistics [Back to Top]
Displaying and analyzing attribute data is one of the most important functions in GIS. Statistical Mapping is used for calculating spatial information and displaying it in dot density, symbols, text, or feature rendering on the map. The users can use this function to display their analysis systematically in a map.
The Map.Layers("Selected Layer").SearchExpression method is used to search the specific data and collect it as a Recordset. The Recordset.Fields ("Selected Item").Value method is used to capture the value of searched attribute data. Using these two methods, the programmer can gain the attribute data for the selected parcel. To display them on the web, the programmer can use WebLink.WriteString method to combine the value gained from .shp file with HTML code.
The Statistic object is created by the CalculateStatistics method on a Recordset (ESRI, 1996c). There are some properties that can be used to find the number of records, the maximum value, the minimum value, the standard deviation, and the sum of the values.
4.3 The Experiences of Programming a Web-based GIS Prototype
[Back to Top]MapObjects and MapObjects Internet Map Server do provide an easy way for programmers to implement a Web-based GIS application in a short time. To implement this application, programmer should have knowledge of MapObjects, MapObjects Internet Map Server, HTML, and Visual Basic. It is difficult for users without programming experience to use MapObjects Internet Map Server as a Map Publishing Tool. Since HTML is not a programming language with a build-in compiler, it is difficult for programmers to debug the errors. Furthermore, since all the four software components are combined together for web publishing, it will take time for programmers to figure out how the errors are caused. Some run time errors may cause the applications to crash. If programmers do not protect the crashing in advance, the map server will stop providing information for clients.
If the maps that will serve in applications for Web publishing are opened in other software, the WebLink control would not allow clients to update the attribute data of the maps. In most cases, the Web applications or CGI scripts should be running in the specific directory assigned by the Web Server. If you are using Microsoft® Peer Web Services (PWS), the .exe files of the applications should be put in the InetPub/Scripts folder and the web pages should be put in the InetPub/wwwroot folder. In this application, I designed a web page for starting applications from remote clients. If the applications do not run on the server when the client sends a request for map publishing or data analysis, users can start the applications from that web page and link to the URLs for the WWW-based GIS project.
5. Conclusion
[Back to Top]
This research has assessed the hardware, software, and institutional requirements for providing interactive mapping and GIS capabilities via the World Wide Web. There are currently five forms of Web-based GIS applications: graphic snapshots (maps), spatial database catalogs and libraries, map generators, real time map browsers, and real time maps and images. Graphic Snapshots allow easy implementation and access, but have limited resolution and no GIS functionality. They do not allow pan, zoom, or interactive use. Spatial Database Catalogs and Libraries provide users an interface to search and download the digital maps, but do not match the need for interactive mapping or other GIS functions. Once the file is downloaded the user must have suitable hardware and software to process and use the maps, and GIS functionality is not part of the maps themselves. Map Generators allow users to generate maps on the Web. Disadvantages include lack of GIS functions, lack of access to the raw spatial data, limited predefined user choices, and involved setup. Real-time maps and images use online sensors to supply images and maps on line, but do not provide GIS functions and are expensive to implement. Real Time Map Browsers are similar to Map Generators, but Real Time Map Browsers have better support for programming GIS and CGI functions. Real Time Map Browsers require a powerful spatial data server that is expensive, but they provide access to very large spatial databases and allow users to browse GIS functions (such as display, query, retrieve, and update maps on line) without having to own special hardware or software (besides a browser and internet compatible computer). Consequently, the Real Time Map Browser technology was chosen to implement the prototype for this Web-based GIS project.
MapObjects Internet Map Server is a kind of Real Time Map Browser. The prototype described in this paper was created for testing the capabilities of MapObjects and the MapObjects Internet Map Server, while also serving as a means of designing and implementing a more sophisticated WWW-based mapping and GIS component for the Lower West Side neighborhood. From this experience, I learned that it is possible to implement GIS functions on the WWW for public participation by integrating MapObjects, MapObjects Internet Map Server, HTML, and Visual Basic. MapObjects Internet Map Server extends the control of MapObjects. With MapObjects Internet Map Server, the features and functionality of MapObjects can be used to deliver dynamic maps and other information via the Internet. MapObjects and MapObjects Internet Map Server provide many helpful mapping and GIS components for programmers to reduce the efforts in developing Web-based GIS applications.
Object-oriented language has made Rapid Application Development (RAD) available. The integration of GIS functions and object-oriented programming has been available since MapObjects was released. Using the Object-oriented technology provided by MapObjects and MapObjects Internet Map Server could help users to easily implement web-based GIS. There is no doubt that mapping and spatial analysis will soon play an important part in public use as the users of Internet and Intranet grows. Using Web-based GIS as a new tool for exchanging information, communities could get numerous benefits. For example: gaining access to usable information on the web; entering into new kinds of interpersonal and institutional relationships; improving the dialogue with government agencies, non-profit organizations, and other members of their community; and visualizing and understanding their communities in ways that inform public debate and public policy (Schon, 1996).
MapObjects and applications built with MapObjects are targeted for the Microsoft Windows 95 and Windows NT 3.51 operating systems. Applications built with MapObjects will not run under Windows 3.x or earlier versions of Windows. Web clients can be any standard Web browsers that support HTML such as Microsoft Internet Explorer or Netscape Navigator. The Web server may be Microsoft Internet Information Server or Netscape Server running on Windows NT. The Web server and the mapping application may reside on different machines, allowing mixed configurations.
The minimum requirements for hardware are as follows:
Platform: PC or Any Platform running Windows NT
Processor: Intel 486DX 33 MHz
Operating System: Windows NT
Disk Storage: 10 MB
Memory: 8 MB
The system I used to create the prototype includes:
Platform: DELL PC
Processor: Intel 586DX 167 MHz
Operating System: Windows NT 4.0
Disk Storage: 3 GB
Memory: 64 MB
Server: Microsoft® Peer Web Services (PWS)
Network: 3com EtherLink XL Adapter
The technologies related to the Web-based GIS applications include Object-Oriented Language, GIS package and language, HTML, and CGI. To create a Web-based GIS application, the programmers should have knowledge of the software packages described above. The software used to develop this prototype include: MapObjects, MapObjects Internet Map Server, Visual Basic, Netscape Communicator, and ArcView. The time of programming depends on the requirements of the application and the skill of the programmers. For this project a programmer without experience in MapObjects and MapObjects Internet Map Server required about 240 hours to digitize 2 maps and develop a rapid basic prototype.
This application has demonstrated some useful functions that are appropriate for Public Participation. The functions include Zoom In, Zoom Out, Pan, Hyper Link, Full Extension, Identify, Attribute Data Input and Update, Comments Input, and Multiple Data Searching. Since the application does not need to be running in any commercial GIS environment, it could be carried out on any computer platform that running Window NT. In addition, the new technology for programming GIS functions on the WWW has proved to be available and easy. It will be a cheaper and simpler way for communities or local governments to provide or exchange spatial information on the Net.
The are two topics that deserve further research. It is important to consider how to get support to cover the costs of hardware, software, programmers, and staff to maintain a Web-based GIS site. A Web-based GIS site for public participation could be supported by universities or government agencies, or with federal, state, local or private grants. The other issue for further research is assessing the impact of Public Participation GIS on communities. In sum, the technological issues behind PPGIS are viable with software packages such as MapObjects and MapObjects Internet Map Server. Institutional and application issues must now be addressed.
[Back to Top]
ESRI, 1995. Understanding GIS- The ARC/INFO Method. GeoInformation International, UK: pp1-2.
ESRI, 1996a. Getting Started with MapObjects Internet Map Server. Environmental Systems Research Institute, Inc. Red Land, California.
ESRI, 1996b. MapObjects-GIS and Mapping Components Programmer's Reference. Environmental Systems Research Institute, Inc. Red Land, CA.
ESRI, 1996c. MapObjects- Building Applications with MapObjects. Environmental Systems Research Institute, Inc. Red Land, California.
Huxhold, W. 1991. An Introduction to Urban Geographic Information Systems. Oxford University Press, New York: p.p. 58.
Kainz, Wolfgang and Shahriari, Nadia (1993) "Object-Oriented Tools for Designing Topographic Databases." GIS/LIS '93 Proceedings
Krygier J. B. 1997a. Buffalo's Lower West Side: WWW Project. http://www.geog.buffalo.edu/~jkrygier/krygier_html/lws/lws.html
Krygier J. B. 1997b. Project Proposal- Methods for Interactive Mapping and Geographical Information Systems via the World Wide Web. Research Development Fund.
Maguire, D. J. 1994, "What is an object-oriented GIS?" Proceeding of the Fourteenth Annual ESRI User Conference. p.p. 74-89.
NCGIA, Univ. of Maine. 1996. PPGIS Workshop Background: http://ncgia.spatial.maine.edu/ppgis/xdoc.html
Nebert, Douglas D. 1995, Status of the National Geospatial Data Clearinghouse on the Internet, ESRI 1995 Conference Proceedings: http://www.esri.com/base/common/userconf/proc95/to200/p196.html
Nyerges T. and Barndt M. 1997. Public Participation Geographic Information Systems, Proceedings of Auto Carto 13, Seattle, WA.
Office of Community Planning and Development, U.S. Department of Housing and Urban Development, 1997. Buffalo, NY Consolidated Plan Executive Summary: http://www.hud.gov/cpes/ny/buffalny.html
Pima County CAD/GIS, 1997.Developing GIS for the Web: http://www.gis.pima.gov/webdev/
Shibley, Robert G. 1994. The Lower West Side- Strategies for Neighborhood and Community Development. The Urban Design Project, School of Architecture and Planning, SUNY at Buffalo and The residents and businesses of the Lower West Side of Buffalo.
Schon, Donald et al, 1996. High Technology and Low-Income Communities: Prospects for the Positive Use of Advanced Information Technology. Colloquium on Advanced Technology, Low-Income Communities and the City, MIT: http://sap.mit.edu/projects/colloquium/book.html
Schroeder, P. 1995. Criteria for the Design of A GIS/2. Discussions at the NCGIA I-19 Specialists' Meeting: http://ncgia.spatial.maine.edu/ppgis/criteria.html.
Langaas, Sindre. 1996.Commercial, off-the-shelf solutions for GIS - WWW interfacing: http://www.grida.no/prog/norbal/docs/giswww/giswww.htm.
Zhan, Feibing, and Mark, D. 1992."Object-oriented Spatial Knowledge Representation and Processing: Formalization of Core Classes and Their Relationships." Proceedings of the 5th International Symposium on Spatial Data Handling. p.p. 2:662-671.
...back to Public Participation Visualization Main Page