Category Archives: GIS

Arcims 9 installation

1. Windows server 2003 sp1 chs
2. J2SE SDK 1.4.2_08 (jre updates to 1.5.0.20)
3. IIS 6.0
4. ms sql server 2000 sp4
*set the authentication mode to both sql server and windows by enterprise
management
5. arcsde 9 for sql sp3
6. dot net framework sdk 1.1
*this component is to enable the .net link connector when installing arcims
9. Actually, I’ve installed the visual studio .net 2003 which will be used
as the asp.net editor.
7. Tomcat 5.5.9
*type http://localhost:8080 to see if the setup is completed.
8. configure isapi_redirect.dll
*install isapi_redirect-1.2.13.exe from apache website; it will help you to
creat most of things you have to do without this executable file, for
example, creating proper register settings, adding jakarta virtual directory
to the IIS console.
*add Jakarta extension within IIS console
9. arcims 9
*install arcims 9, and perform post installation with the option of IIS6
with Tomcat 4.x.
*edit the uriworkermap.properties file under the jk1 connector conf
directory, adding the appropriate mappings.*try the diagnostics facity to
test 1 and 2. If error 006 occurs, plz check the machine setting in the
Esrimap_prop file under the webapps directory in Tomcat root.
10. enjoy the arcims 9

arcsde for sql svr 2k

安装完arcsde 9 for sql server 2000,发现启动不了iomgr服务。
查看sde etc目录下的log,发现sde用户不能登录进sql server 2000。
查google,发现是由于在安装sql server时,设定成windows用户验证的登录方式。用
企业管理器,将仅windows验证,改成sql server和windows验证选项。再启动arcsde,
成功!

安装arsde for oracle失败

arcsde for oracle 9i要求的最低oracle 9i版本是9.2.0.3,不知道小冉最早安装的时
候,如何将9.0.0.1版本装上了,居然也可以。不过我还得重新从oracle网站上下载
9.2.0.3。好象9.2.0.4只有linux版本。
从9.2.0.1升级到9.2.0.3需要OUI 2.2.0.18,不能从metalink.oracle.com获取,失败
是否要考虑用sql server 2000

ArcIMS架构

1. ArcIMS架构包括Presentation Tier, Business Logic Tier, Data Tier。 还提供
了一些管理应用程序来管理Business logic tier。

2. ArcIMS工作于Java环境。 运行ArcIMS还包括一个Web server, Java VM,和servlet
engine。servlet engine是Java VM的扩展,建立Java VM和Web server间的连接

3. Business Logic Tier包括Application Server Connectors, ArcIMS Application
Server, 和ArcIMS Spatial Server。Connectors在Web Server和Application Server
间建立连接。在Business logic tier间的通讯通过ArcXML。
3.1 Application Server只接收ArcXML格式的请求。因此connectors的作用就是将直接
ArcXML请求(ArcIMS servlet connector)递交到application server、或从
coldFusion、ASP、.NET、JSP(ColdFusion connector, activex connector, .net
link, java connector)形成ArcXML然后再递交到application server
3.2 ArcIMS Servlet Connector是默认的connector,用于将客户端产生(如Html
Viewer)的ArcXML递交到application server。arcims servlet connector还包括一个
wms connector,允许兼容于wms的客户端可以访问arcims服务
3.3 使用java的connectors(arcims servlet connector和java connector)必须在底
层使用servlet engine,以在web server和java vm间建立关系
3.4 spatial server包括image server, feature server, query server, extract
server, geocode server和metadata server(此6个server可以共存于一个spatial
server上),以及arcmap server(一个spatial server只能存在一个arcmap
server)。前6个server接收arcxml请求,arcmap server接收arcmap mxd文档。
3.5 spatail server的实例(instance)和service。一个实例可以认为是一个线程。除
arcmap server,其它server默认情况下启动2个instances。arcmap server由两个
spatial server启动,一个spatial server只能启动一个arcmap server。arcims提供
四种service,即image service, feature service, metadata service, 和arcmap
image service。每个service由一个或多个server共同完成。
3.6 在一个arcims站点上,可以有多个spatial server,可以在一台机器上,也可以分
布在不同机器。在管理的时候,多个spatial server上的各种server type实际上形成
虚拟的server type,由applicaiton server来具体管理这些虚拟的server type是如何
对应到实际的server type上去。

4 arcims可以使用arcsde 作为后台的数据库。在通常情况下,到arcsde的连接等于
instances的数目。比如,如果只有一个spatial server,默认情况下建立一个image
service,将建立2个image server instances和2个query server instances, 这时到
arcsde的连接数等于4。如果部署了2个spatial server,这时一个image service到
arcsde的连接数等于8。但当再建立一个image service的时候,arcims会重用已有这些
的instances和已有的相同连接。
4.1 arcims到arcsde的连接可以是无限的,不受限于arcsde的license限制。但arcims
也支持连接的pooling,以提高连接效率。

5 表示层。HTML viewer, Java viewer(包括可定制和不可定制两种), 使用各种
connector定制的viewers.

Migrating TerraLib 3.0 from vc6 to vc7.1

TerraLib 3源代码里提供了vc6的项目文件,在vc7里编译通不过。需要做一些更改:
1. STLport 4.x不支持vc 7,需要从stlport网站下载最新的5.0 rc2(现时),编译成static library后,将include文件和library都替换成5.0的
2. vc6项目里的include列表需要重新设置,去掉不必要的,用分号(;)分开
3. 将TeGeosWrapper.cpp/.h从项目里去掉,它们需要geos.h,在terralib 3里没有包括这个头文件
4. 在checkvec.h里的
     typedef typename checkedVector::size_type size_type;
     typedef typename checkedVector::iterator iterator;
     typedef typename checkedVector::difference_type difference_type;
     typedef typename checkedVector::reference reference;
     typedef typename checkedVector::const_reference const_reference;
注释掉,否则将提示“fatal error C1202: 递归类型或函数依赖项上下文太复杂”。
5. 再编译通过。连接的问题还没涉及到,遇到再描述。