Daniel McAlister
Abstract
This paper will deal with the creation and maintenance of ArcView projects utilizing a wide area heterogeneous OS network within a large electric utility. It will detail how an X Server solution is used to bring Unix processing power to the desktop across a WAN covering most of Southern California. The development process for one project in particular will be outlined. This will cover issues relating to ArcView's muti-platform support, and customization problems associated with this feature of the software. The focus of the paper will be upon distributing GIS functionality to a wide number of users across a relatively large area. A comparison will be drawn between an X Server application network solution and the new intranet ArcView and MapObjects options.
Introduction
Since its birth within the arena of computer
cartography, Geographical Information Systems has flowered in the
mainframe environment. The compost originating from Unix and VMS
processing power. Not surprisingly the history of the computing
environment has been one of dynamic change. At present we are
witnessing the rapid development of more powerful personal
computers and parallel to this, the increasing connectivity of
all computers via networks such as LANs, WANs, and Internets.
This new environment has had positive
implications for GIS. The GIS professional can retain access to
the Unix box, utilizing high-end memory and processing resources
and increasingly GIS is ending up in the hands of the layman or
corporate user, and migrating to the PC platform. This provides
new challenges to the GIS administrator, vendor, and almost
everyone involved in this industry. GIS has had to embrace
"open computing" concepts more than ever. The
proprietary database is out; seamless integration with existing
de facto market standards is the rule. An illustration of this
new network-orientated, open system-based GIS solution can be
exemplified by Southern California Edison's (SCE) approach to
implementing a GIS for decision support work-crew dispatching.
SCE maintains a Wide Area Network covering most
of Southern California. Hardware varies from mainframes
andminicomputers, down to standard desktop IBM clones and Power
PCs with network interface cards. Operating Systems range form
multiple flavors of Unix, IBM's AIX, and Sun's Solaris, with
Windows 3.x, Windows 95, NT and Macintosh resident on the
desktop. The network operates via the Transmission Control
Protocol/Internet Protocol (TCP/IP), with ethernet being the
primary transport. SCE as a corporate body utilizes a number of
GIS packages, a large range of Esri products plus MapInfo from
Mapinfo Corp. and Geographic Facilities Information System (GFIS)
from IBM.
Application Requirements
Southern California Edison's Electric
Distribution Publication Department (EDPD), required a method of
readily identifying the distance from an SCE Service Center and
an ad hoc work location in the field. This location data is
updated on a daily basis and resident in a Sybase AIX Server. The
system would necessarily have to be accessible from a number of
Service Centers throughout the SCE Service Territory. SCE
maintenance employees have union-negotiated Euclidean distances
thresholds from dispatch sites. These distance ranges must be
verified, and it was this impetus which brought the EDPD to
sponsor a GIS pilot project within Geographic Information
Analysis Systems (GIAS). GIAS is an entity of the Natural History
Museum of Los Angeles County Foundation and provides SCE with GIS
services utilizing and customizing mainly Esri software.
System Design
These requirements had a number of implications
for system design. First, to obtain access to ad hoc locations
within the Service Territory, the system necessarily had to have
access to a street dataset for most of Southern California. A
rather large dataset. The accessibility requirement at a variety
of locations forced consideration of a number of scenarios for
potential system design. Should each site have its stand-alone
desktop GIS? The street dataset required is over 745 megabytes
and, once processed for geocoding, this increases to over a
gigabyte of data. Merely accommodating this dataset is beyond the
capacity of the standard company PC hard disk and its processing
and memory resources. Could the data be resident on a central
server? Novell or even a Unix box, mountable via the Network File
System (NFS)? This option was researched and after assessing the
performance issues it was rejected. Due to the large amounts of
data, the network packets could not be transmitted as efficiently
and as rapidly as required. NFS can be a very successful option
in solving Unix-to-PC connectivity problems [1]. I would advise
anyone interested in this option to investigate a freeware
software package called Samba written by Andrew Tridgell
[2]. Samba runs on Unix, enables a Unix host to
establish shares that Windows clients can map, and enables Unix
clients to map shares on Windows hosts (Windows for Workgroups,
Windows 95, and NT).
The Graphical User Interface
Many computer networks incorporate heterogeneous
operating systems. In the initial design process of GIAS's
prototype rapid application development (RAD) phase, a number of
operating systems were being evaluated. GIAS became aware of
problems in moving ArcView (AV) projects from one OS to another.
While Avenue supports multi-platforms, creating on-line help and
significantly extending AV's GUI requires non-Avenue code, code
that can be OS-dependent. Avenue under AV 2.1 did not provide the
developer with the ability to create multicheck boxes. This was
remedied in version 3.0; and an extension to give the programmer
full control over AV's GUI will be released with AV 3.1. GIAS
turned to the Tool Command Language(Tcl), a high level scripting
language and it's associated add-on Toolkit (Tk) [3], to provide
a more flexible widget creation toolbox. Tcl/Tk is available on
most versions of Unix, Windows 3.1, Windows 95, Windows NT and
Apple's Macintosh platform. This scripting language is freely
available on the World Wide Web. However, as an interpreted
language its libraries must remain with any code written.
Communication between Avenue and Tcl/Tk is possible via file
sharing. However it would not be impossible in theory, for AV and
Tcl/Tk scripts to communicate via C code routines and remote
procedure calls. Tcl/Tk is in essence a library of functions and
objects created using C code.
ArcView and On Line Help
While developing DCM Locate on AV 2.1, an on line
help system was developed to answer user queries relating to
customized utilities. Initial testing upon the Windows
environment required the use of rich text format (RTF) and a
Windows Help compiler to produce Windows-compatible Help
documents. AV does not provide these tools. The developer
requires Microsoft Word or any text editor capable of producing
RTF files. If you already have Visual Basic or Visual C++ you
possess the compilers hcp.exe or hc31.exe. If you do not have
these, nor more recent Windows 95 compilers, then they can be
purchased from Microsoft.
Having ultimately chosen the Unix platform for
system development, GIAS proceeded to incorporate an on-line Help
utility. It was necessary to include Unix OS commands help into
this utility for reasons which will be explained later in this
paper. In version 2.1 AV for Unix, this meant creating hypertext
documents interpreted by AV's existing help resources. This
method was highly successful; however, the files created are not
OS-independent in that they cannot be directly read by Windows or
Macintosh AV. Unfortunately for GIAS, version 3.0 of AV for Unix
shifted the goal posts completely. The hypertext authoring tool
for AV 3.0 Unix is Bristol Technology's HyperHelp. This comprises
a compiler and viewer and is compatible with RTF files. AV 2.1
customized help files are not compatible with HyperHelp. GIAS
decided, however, to pursue a more cost-effective solution, and
has developed on-line support and a data dictionary in html.
Avenue can execute a browser on the server and the default home
page can be set to the html help files.
The X Server - Problems and Solutions
Bench Marking
The X Server, X-Windows, X Terminal Emulation or
PC-X Servers are a number of names for the process of remotely
accessing programs running on Unix hosts and having the display
exported to the remote user's PC. This is similar to telneting
with the added advantage of the PC receiving the entire graphical
user interface of the executing program (please see Appendix A
for Esri's statement on X-terminal emulation). GIAS turned its
attention to an X Server option as a solution to its network
requirement needs. Lan Workplace 5 from Novell, Exodus from White
Pine Communications and Exceed from Hummingbird were bench marked
in trials using AV as the remote application. It should make it
clear that we made use of all the X Server software packages
default configurations, problems encountered may be rectifiable
with time spent reconfiguring various aspects of software setup.
Lan Workplace simply had too many inconsistencies integrating and
interpreting AV's display; it appeared distorted and AV was
unworkable. Exodus performed better, yet was unable to handle
AV's table of contents fonts. Using Avenue to reset the fonts
solved this problem. Exceed, however, proved to be relatively
seamless in its interaction with ArcView, and with Esri also
supporting this package, Exceed was chosen.
The Result
The system, code-named DCM Locate (Design
Construction Maintenance), therefore utilized AV operating on an
IBM AIX RS6000 host. Windows 95 standard SCE PCs, with X Server
software installed, availed of the system via the network. While
Exceed did function in conjunction with AV, it is by no means a
perfect partnership. There is no manual which details how to
configure Exceed's X Server with AV; the process has been one of
trial and error (please see Appendix B for Exceed/AV
configuration details). Nevertheless, the system is stable and
productive. The release of AV 3.0 has improved the essential
geocoding functionality of the system and also its cartographic
capabilities. AV's Database Integrator is used to connect to the
corporate Sybase System 11 EDPD work-order tables. Avenue is used
to interactively develop a Structured Query Language (SQL) query
by means of GUI-based menus, and this query is then passed via
the Database Integrator to the Sybase database. This utility
naturally imposes security in the form of a password-protected
Sybase user account.
Once downloaded to the users home account on
the server the data is available for address matching against
Thomas Brothers geocoded street dataset. Address quality is very
poor. There are no zip codes at all and some addresses have no
house numbers. Some records have no addresses attached, and
throughout the database, a variety of characters are used to
indicate cross streets. These addresses are not entered into
Sybase for the purpose of GIS analysis and they have no standard
address format. To increase the match rate against the street
dataset, an address filter string analysis avenue script was
developed to modify the addresses. AV will only accept one string
as an indicator of two streets crossing. As street intersections
are a popular address format throughout the database, and a
variety of characters are used to indicate this, the filter
script replaces these characters with the ampersand; AV's default
street intersection indicator string. The filter script has
increased "hit" rates in the address matching process
by at least 30%.
Unix the User-Friendly Operating System
The fact that DCM Locate functions on a Unix
server, brings most users into contact with a new computing
environment. The user faces a learning curve incorporating
account management, Unix command line functions and can mean the
need to learn Open Windows GUI or the Common Desktop Environment
(CDE). It is not impossible for a user to edit and create data
that will reach the limits of his or her disk space quota. It is,
therefore necessary for users to receive sufficient basic
training in Unix.
Alternatives
The Internet Map Server
GIS like many other disciplines, has found its way
onto the Internet. Most GIS vendors including Esri, supply
web-based GIS software-development tools, (MapObjects Internet
Map Server and the soon-to-be-released AV Internet Map Server).
Most however are in their first release or still in beta release.
During initial system planning of DCM Locate in late 1995, GIS
web development tools did not exist. Today, however, a web
solution would be a realistic alternative to the X Server
configuration. Internet browsers already pervade the corporate
desktop, and a GIS solution could become another bookmark in the
browser. More and more databases are becoming web-enabled or
accessible, and there is hot competition among vendors to produce
the highest-level web language and web-development tools. It has
been our ezperience however that GIS systems have a habit of
evolving beyond the bounds of their initial brief. This can be
attributed to clients expanding requirements as they realize the
potential functionality of GIS. From measuring Euclidean
distances, it's initial brief, the DCM Locate system has expanded
into producing detailed maps of SCE facilities. It would be
prohibitively expensive at present to create an in-house
web-based GIS equivalent in functionality to that of AV. However
with the imminent release of Esri's AV Internet Map Server
Extension, the previous statement may not remain valid [4].
The X Server Plug-In
Another network alternative has evolved from an
incorporation of both the web and X Server technology. Many X
Server vendors have turned their attention to the internet and
many have developed packages to integrate both [5]. White Pine,
the creator of Exodus, has released an internet browser plug-in;
"WebTerm X Power Plugin". This enables the user to
access AV, or any other software package requiring Unix
processing power, from within the browser environment. The need
for X Server software on the PC client, baring the plugin itself,
is no longer required. However Unix account access is required by
the user, and again, Unix file security is in operation. In an
internet situation guest account access with read permission only
could be an option. This could also apply in an intranet
situation. AV can function in this environment and is able to
operate with a beta copy of WebTerm X.
Licensing Issues and Security
X Server packages, such as Exceed, provide an
array of utilities for PC-Unix interaction: FTP, telnet, remote
execute, et cetera. Some of these utilities have helped GIAS to
override AV for Windows and AV for Unix's incompatible
Inter-Application Communication [6]. A PC-to-Unix interaction
suite such as Exceed or other such packages gives the user true
interaction capabilities between operating systems. If, for
whatever reason, the user wishes to print to a file and down-load
that file to the local PC client in order to print it to the
local printer, then ftp is available. Remotely executing ArcInfo
on a Unix server is easily achieved via a Windows based remote
execute utility. The developer or desktop user does not need to
concern themselves with incorporating avenue code into the
project to achieve this. In the case of AV running on a PC,
writing out avenue code to a text file on a Unix disk mounted via
NFS. Remotely executing AV on the Unix server which also has
access to this shared disk, enabling the executied apr to access,
load, and run the text file using a startup script can permit an
AV application on a PC to access Unix processing power.
An X Server session will utilize a full AV
license on the host and all Unix security protocols are
implemented regarding account access and file permissions. The
WWW has experienced some bad press recently after the security at
several prominent sites was breached. The Web is a much younger
creature than X Server software and is less secure. Security is a
prominent issue at present in Web software development and, with
time, should improve. Esri's Internet Map Servers would seem to
have transaction based licensing. One server can respond to
requests from multiple clients. This will inevitably mean on a
multiuser system-to-system comparison, that internet GIS
implementation will cost less than the one license/one user X
Server option.
Summary
In this paper I have not essentially aimed at a
chronology of the DCM Locate GIS, but rather at detailing a
series of network options for the GIS developer by illuminating
the road blocks and workarounds experienced by GIAS in developing
this networked GIS. I have tried to demonstrate that the
interactive flexibility of fully developed systems such as AV
cannot be matched at present by web based solutions. The Live Map
[4] is indeed interesting and informative, and a step beyond the
limited publishing aspect of previous web implementations. I am
convinced in time web based GIS tools will incorporate the entire
functionality of our present desktop solutions, any GIS
professional ignoring this new field of web based application
development is missing out on an exciting new way of extending
the medium of GIS. The thin client fat server paradigm is
certainly the presently accepted template for system design, X
Server and the Web fit nicely into this new world. At present
system requirements will determine which is the most appropriate
for particular networked solutions and time will tell if the X
Server will be totally eclipsed by the Web. I beleive that for
some time to come GIS and the wider computing community will
require X Sever technology with those packages integrating with
the internet proving the more popular.
References
[1] Charles P. Butler, PC to Unix
Connectivity, 1996 Esri Conference Paper.
[2] Mark Joseph Edwards, Unix and NT
Interoperability Made Easy, Windows NT Magazine March 1997.
[3] John K. Ousterhout, Scripting: Higher
Level Programming for the 21st Century,
White Paper available at
http://www.sunlabs.com/people/john.ousterhout/scripting.html.
[4] Various Arc News Vol. 19 No. 4 1997
[5] Michael Jay Tucker, The Wild, Wild Web,
Sun Expert April 1996 Vol. 7 No. 4.
[6] John H. Ganter, Inter-Application
Communication (IAC) Using Esri Software and Other Development
Tools. 1996 Esri Conference Paper.
Acknowledgments
My thanks to David Schirmer Project Coordinator
for EDPD's DCM Locate System, my co-programmer Dora Wang, Sarah
Van Wagner, Jeanine Cavalli, Julie Crescione, Edward Meador, Ryan
Damon, Kevan Newton, James Rodriguez, Joshua Schechter, and
Joanne Wilborne all from GIAS. Special thanks also to John Miller
of Electric Distribution Publication. I Cannot forget to thank
all the helpful voices down the phone line at Esri Redlands
Technical Support for their help during DCM Locates development.
Daniel McAlister
GIS Analyst, Geographic Analysis Information
Systems
Southern California Edison
2131 Walnut Grove Ave
Rosemead, CA 90401
Telephone 818-302-7858
Fax 818-302-8240
mcalisdg@sce.com
APPENDEX A
Esri Statement on X-terminal
emulation
ArcView supports several window managers (such
as Motif and OpenWindows); it can also support X-Windows
X-terminals available from several of the computer hardware
manufacturers.
The use of X-Windows terminals increases the
load on the host system, as they require X-Window processing and
additional network activity, in addition to the actual process or
application being run.
Esri does not guarantee compatibility of this
type of hardware with any host, operating system, or ArcView. The
mixing of hardware and X-server protocols from different vendors
may cause problems, as the respective implementation of X-Windows
may be different. Because of this, support for X-terminals is
limited. Users are responsible for setting up an X-window
environment from the host.
The emergence of X-Windows and network-based
computing for GIS has created interest among many ArcView users
in the feasibility of using personal computers in conjunction
with their GIS network. X-Windows emulation software packages,
often called 'PC-X servers', allow a personal computer to mimic
an X-terminal: attach to a high-speed computing network, access a
host or server system, perform applications there, and provide
graphics display and windowing capabilities.
Esri does not guarantee compatibility of this
type of software with any host. Users are responsible for setting
up an X-Window environment from the host to a PC using X-terminal
emulation software.
The recommended minimum PC configuration for
supported X-emulators is as follows:
- Minimum 12 MB of RAM (16 MB strongly
recommended)
- VGA video card with at least 1 MB of video
memory
- Minimum 800 x 600 resolution capability
- IBM-compatible PC (386/33 minimum)
- Network adapter card (16-bit card
recommended)
- Network communications software (TCP/IP stack
- supplied with X-Windows emulation software)
Esri supports the following X-emulation
software for use with ArcView Version 2.1 running in remote
window manager mode:
Hummingbird Exceed for Windows
WRQ Reflection X
NCD PC-Xware
APPENDEX B
Exceed and ArcView
Exceed X Server in Single Window Mode using X
window as the Program Type and rlogin as the start method, causes
numerous problems with ArcView. This setup was found to be
unworkable.
Exceed in Multiple Window Mode using X window
as the Program Type and rlogin as the start method, does work
much better than Single Window. However this configuration can
encounter color mapping problems, Avenue scripts which use
message boxes failed to function correctly. DCM Locate could not
connect to a Sybase database in this setup.
Exceed in Single Window Mode with the entire
Unix Open Windows or CDE GUI exported to the Client PC produces
the most stable system configuration. Using Rlogin (TCP/IP) as
the start method with Terminal Emulator as the Program Type and
the Command line executing the Unix host GUI, provides the user
with a Unix interface on the desktop, ready to operate ArcView.
The following is a step by step setup procedure
to obtain a full Unix desktop environment on your PC using exceed
that will operate ArcView successfully, you need to:
1. In the Exceed icons group select Xconfig:
under Windows mode set this to Single.
2. Open XStart in the Exceed icons group and
Set
3. Save this file, and exit.
4. Next run exceed, this should create one large window.
5. Click on the X in the windows top left hand corner, and select client starter under Tools.
6. Double click the file you just created, and
select run from the resultant dialog box. This will start the
chosen Unix GUI.