I recently caused a stir in certain
circles when I stated to some readers that in ArcInfo 8 the command line
was GONE. Actually, what I tried to say was that in ArcGIS the
command line interface was gone. But the mere fact that statements about
features of the "old" ArcInfo and "new" ArcInfo evoke
strong reactions is an indication of the confusion surrounding the
recently released version 8 of ArcInfo. Heck, even the name of the
software is confusing at the moment: is it ARC/INFO or is it ArcInfo? Is
ArcInfo synonymous with ArcGIS, or is ArcGIS a part of
ArcInfo? And where do ArcObjects fit into all of this? I will try to
answer some of these essential questions and clear up some of the
confusion.
Where does one begin when there is
so much that is new, so much that can be confusing? Let us begin with the
names and terminology.
What’s in a name?
ARC/INFO. Though often misspelled in
the past as Arcinfo, Arc/Info, and such, the official, trademarked name up
until version 7 was in fact ARC/INFO. Starting with version 8, however,
the official name has been changed to ArcInfo. I think that from a
philosophical point of view this says a lot. First, it is an indication
that although it is founded on the previous versions of the software, the
new version is significantly different, with more to come. Second,
it gives me the sense that ESRI is falling in line with the rest of the
software industry, where EveryOneAndTheirBrother has an UpAndDown name
these days. And this may be a stretch, but the disappearance of the
forward slash from the name also is an indication for me of the waning
importance of UNIX, where the forward slash is king, from the future of
ArcInfo.
Now that I have raised the thorny
UNIX issue, I will quickly back off and get back to it later.
Let's tackle the ArcInfo versus
ArcGIS terminology. One of the greatest sources for anxiety that I have
heard is whether the command line, AML, ArcTools, and the rest of the
traditional functionality of ArcInfo is going away. The answer is an
emphatic No. All of ARC/INFO 7.2.1 is still available in ArcInfo 8. Also
included in ArcInfo 8, however, is a new software called ArcGIS. Here is an analogy
between the old and new components of ArcInfo: think of the difference
between a computer running in DOS, without any Windows interface – that
would be ARC/INFO 7. Now think of a Windows NT machine, where a DOS window
is available, in case you want to use the old DOS commands or fire up an
old DOS software package – that would be ArcInfo 8. Does that make
sense? "Old" ArcInfo is still there, but you're going to have a
whole lot more power and flexibility if you use ArcGIS. Both are
available, but they are not the same, nor are they built on top of each
other. ArcGIS is a brand spanking new, object-oriented, software, written
with all new COM components called ArcObjects.
Workstation ArcInfo versus Desktop ArcInfo
If the new part is called ArcGIS,
what do we now call the "old" part? ESRI calls the two
components Desktop ArcInfo (the "new" stuff, or ArcGIS) and
Workstation ArcInfo (the "old" stuff). One of the most obvious
differences between the two is that Workstation ArcInfo runs in both UNIX
and NT, but Desktop ArcInfo only runs in Windows NT. Which gets us back to
UNIX, doesn't it? Wait, we'll get back to that.
Does ArcGIS, or Desktop ArcInfo,
have all the functionality of Workstation, or "old", ArcInfo?
No, not yet. The main components that have been migrated are Arcedit and
Arcplot, and portions of Arc, Network, Tables, and INFO. TIN and Grid have
not been migrated, and many of the functions of Arc are only indirectly
available. ArcGIS consists of three components: ArcMap, which is the
combined editing, query, and mapping component that has absorbed much of
Arcedit, Arcplot, and Network; ArcCatalog which has absorbed components of
Arc, Tables, and INFO; and ArcToolbox, which has absorbed the remainder of
Arc. Of these components, ArcMap and ArcCatalog are based on the new
ArcObjects. ArcToolbox is merely a new (and improved) forms-based
interface to "old" ArcInfo commands - a sort of cross-over
component that bridges the gap between the two versions.
So why am I telling you all this?
Glad you asked. The functions served by ArcMap and ArcCatalog are executed
and run in Windows NT alone. However, and this is where we finally get
back to UNIX, ArcToolbox functions are executed either in NT or
UNIX. "How's that?" you ask. Workstation ArcInfo (pop quiz: is
that "old" or "new ArcInfo?) has been modified so that it
can be executed locally or remotely, immediately or in batch. Since
ArcToolbox executes "old" ArcInfo commands, it too can take
advantage of this capability. I shall elaborate.
Hang on, we’re off on a wild ride
Imagine that you are cleaning a
small coverage on your NT workstation. No problem. You run it locally and
right away. However, suppose you have to intersect several dozen
coverages, you can instruct a remote UNIX ArcInfo application server
to execute the command, either right away or at a specified time. This
relegates the UNIX workstation (or the NT application server, for that
matter) to handling big disk I/O, CPU, and RAM jobs, and the desktop
computer to handling smaller tasks and launching jobs. Play close
attention! What we are witnessing here is a rapid evolution of the
software towards the Web. In the near future, especially after ArcIMS is
released, we are likely to see application servers serving up GIS
"brains" over the Web, with the user interface being a
somewhat-intelligent application running inside a Web browser. In other
words, instead of all the brains residing locally in an ArcInfo desktop
machine, we will see Java applications that are somewhat GIS savvy
interacting dynamically, in real time, with a heavy duty server around the
corner or across the world. A far cry from today’s "real" GIS
and funky IMS applications, where you click on the browser and eventually
receive a picture of the answer.
Whoa! How did I go from explaining
the modules of ArcInfo 8 to discussing science fiction GIS? Hah! Not
science fiction at all. ArcInfo 8 (or 8.0.1 to be precise) is in my
opinion the beginning of a rapid and wild ride towards truly distributed
GIS, even for the common installation in the small county or city down the
road. So saddle up and hang on tightly, but in the mean time read on, and
learn how you can start using ArcGIS today.
Rather than talking about
ArcGIS and ArcInfo 8, let’s start using it now. Provided that you
have
installed Desktop ArcInfo (i.e. ArcGIS), and have obtained a new keycode
from ESRI, you are ready to roll. In this exercise, we will annex the
Yukon to the United States, rename it, and make and print a map showing
this change. The only data you will need is the ESRI data directory that
comes with ArcView. If you don’t have it, fake it.
First we want to make copies of two
shapefiles, so that the annexation of the Yukon does not become permanent
(some people may not appreciate the change). We will do this with
ArcCatalog. To start ArcCatalog, go to Start | Programs | ArcInfo and
click on the ArcCatalog selection. Navigate on the left side of the screen
to the location of your shapefiles (e.g. c:\esri\esridata). Go to
the usa directory and click on the green icon
called states.
Press the Copy button
on the Standard Toolbar. Navigate to a work
directory, such as c:\temp, and click on that directory’s name.
Press the Paste button
on the Standard Toolbar, and your shapefile
will be placed there. Repeat for the province shapefile in the canada
directory.
Now we will fire up ArcMap by
pressing its icon on the Standard Toolbar in ArcCatalog
. Make sure that
the ArcCatalog window is smaller than ArcMap’s and that you see the main
part of the ArcMap window peeking behind ArcCatalog. Click on one of the
shapefiles you created, hold down the shift key, and click on the
other. Both should be selected. Let go of the shift key. Click,
hold, and drag the two selected shapefiles onto the main (right side)
portion of the ArcMap window, and let go. The two shapefiles should be
drawn there. Minimize ArcCatalog.
Find the editor button
on the
Standard Toolbar in ArcMap and press it. This will activate
the Editor
Toolbar. Press the Editor pulldown menu, and choose the Start
Editing option. In the Target pulldown list on the Editor
Toolbar, make sure that the US shapefile is highlighted. Now use edit
tool on that toolbar to select the Yukon polygon from the Canadian layer
(or any other province, for that matter). Press the copy and paste
buttons on the Standard Toolbar. Because the US layer is the target of
your edit, the polygon has automatically been pasted into it. Since it is
still selected, click on the attributes button
on the Editor
Toolbar to bring up an attribute editing form. Click to the right of the State_name
field and enter a new value (e.g. East Alaska). Press the Enter key
and close the form. From the Editor pulldown, choose the Stop
Editing option, and save your change.
To make and print a map, find the
little button at the bottom-left of the display
that will place the two
layers on a page layout. Turn off the province layer in the Table of
Contents. From the Insert menu choose the Title option.
Type a title (e.g. If I Ran the World), and press the Enter key.
Save your project, which will create a MXD file (similar to ArcView’s
APR file). Now press the Print button on the Standard Toolbar, and
follow the standard options. And there you have it: your first graphic and
attribute edit and mapping operation in ArcGIS.
The rest will be easy!
3D Analyst APRs can’t be opened when 3D Analyst
isn’t available
As most of you know, ArcView does
not appreciate it when you save an APR with an extension loaded, and then
try to open it without that extension being available. The situation
becomes critical, however, with 3D Analyst, if you save an APR with a 3D
Scene. Likewise, if you write a script that relies on 3D Analyst, you will
have a very difficult time reopening the APR. The reason is that without
the extension loaded, various objects are not available to the APR.
About the only solution to this
dilemma is to offload the 3D Scenes to an Object Database (ODB) file as
part of the Save operation. This way the APR is saved without the 3D
Scenes actually embedded in it. The Startup script then has to be rigged
to load the ODB back into the project only when ArcView detects 3D Analyst
being loaded.
As for including 3D Analyst
dependent scripts in an APR, that may opened in a non 3D Analyst
environment, the only solution I know of is to store those scripts in
their own ODB, or in a separate extension, and only load those after 3D
Analyst is detected. The reason for this is a little quirky: apparently,
ArcView compiles all scripts as an APR is reopened or an extension is
loaded. So even if the script was compiled and worked fine before the APR
was saved, it will fail to operate if opened without the required
extension loaded.
Finally, how do you write code to
test if a document is a 3D Scene, so that it will not crash if the
extension is not loaded? Instead of using
if (myDoc.Is(Scene)) then
use
if (av.FindGUI(myDoc.GetGUI).AsString = "3D
Scene") then
Happy coding.
I am pleased to have recently
completed a software development project for EarthSoft, Inc.
(Pensacola, Florida – www.earthsoft.com).
EarthSoft is the manufacturer of EQuIS, a comprehensive suite of
environmental data management software with an optional ArcView interface.
Since the beginning of the year I
have started a very exciting project with Adams County, Colorado
(Brighton, Colorado – www.co.adams.co.us).
I am heading a team that will be linking the County’s GIS to the
Assessor’s and Permit Tracking Oracle databases, and publishing them all
on the Web. The Needs Assessment phase has begun, and the project is
expected to be completed no later than October.
I am also pleased to announce my
continuing relationship with AngloGold North America (Englewood,
Colorado – www.anglogold.com),
in the Cripple Creek and Jerritt Canyon mines and at their exploration
office in northern Nevada.
In addition to my regular column at Directions
Magazine (www.directionsmag.com),
I have recently published articles on 3D GIS in ArcUser (www.esri.com/arcuser)
and on ArcInfo 8 training in ArcNews (www.esri.com/arcnews).
I also have a series of articles on HTML Help and GIS coming up in the
next two editions of ArcUser.