Category Archives: GIS

Mobile GIS工作的一些想法

感觉这个工作还是挺有意思的,尽管市场上已经有一些这方面的软件,比如ESRI 的
ArcPAD,还有一些国产的。但所知有限,没有做系统的overview,也不知道有没有比较
好的开源的for PDA的 gis。本科生有人选了这个课题,可以让他/她来先了解一下国内
外的情况。但已知的商业Mobile GIS,一方面价格不菲,一方面很多用户,并不需要太
复杂的GIS功能,而商用Mobile GIS则一般做成通用的,需要掌握一些专业知识才能操
作。另外,软件都是次要的,最主要的是普遍的用户很难拿到想要的地图。
这样的话,我想,比如做一个兰州市的for PDA的电子地图,可能还有价值。难度应该
不大,电子地图只要支持简单的GIS操作,比如显示,漫游,缩放等,就满足普遍用户
的要求了,但前提是这个软件跟数据一起发布。比如兰州市的,安装了这个后,就能看
兰州市的详细街道图;再比如还有北京市的,就有北京市详细街道,等等。其实这个想
法是受老外开发的一个city map (for PPC)的一个启示,citymap是做的美国的,按州
来组织。当然做为一个增值的功能,这个pda gis要具备显示gps轨迹。
我知道的Qtopia具备嵌入式开发的功能,Qtopia可认为是Qt的一个子集,尽管我到现在
为止没有接触,但估计学习的难度不会太大。会是个有意义的尝试。
也许可以商业化,哈哈。。。不管如何,这项工作还是有意义的,具备一定的显示度,
也可以拓展我们GIS的整个应用和研发水平。当然我是不一定做了,只是有这个想法,
说出来大家,特别是我们室的老师同学,如果感兴趣,可以考虑,也许可以考虑从各个
渠道争取一些这方面的经费。初步的工作也许可以从申请小额基金来开始做起。

GRASS/Qt

发现有人将GRASS包装成Qt库,可以在Qt程序里应用GRASS,
当然还是很初步的东西,目前的功能包括:
1.
对层(layers)的着色进行控制
2. 在painter上面显示2维的矢量和栅格图形
3. 放大缩小
4. 漫游
5.
xy到经纬度的转换
6. 两点间距离的量算
详细请见
http://navicon.dk/web/normal.php?pageid=92

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. 再编译通过。连接的问题还没涉及到,遇到再描述。