您的位置:首页 > 其它

ArcGIS 9.2 开发学习笔记(转自Mars的自语)

2007-05-16 08:20 357 查看


ArcGIS 9.2 笔记(1)


ArcGIS 9.2发布一段时间了,连sp1都有了。这个版本确实不错,不仅仅是对研究者,对于应用和 开发 也增强很多,其重点也逐渐转移到了SOA,所谓的 GIS 服务,或者企业级GIS。

安装需要卸载所以以前的版本,包括IMS什么的,改动的地方确实比较多。

关 于开发包,目前分为4个,而不是之前的一个:ArcGIS Desktop VBA Developer Resources, ArcGIS Desktop Developer Kit for Visual Basic 6, ArcGIS Desktop Developer Kit for Visual C++, ArcGIS Desktop Developer Kit for the .NET Framework.
geoprocessing & modeling:改进比较多,据说完全重写,100多个新工具。批量计算(batch)。
geoprocessing目前的Python支持改进很大,不需要安装PythonWin,具体机制还需要研究一下。
全新的ArcGIS Server,当然,这个是重点。



ArcGIS 9.2 笔记(2):Personal ArcSDE,个人ArcSDE

ArcGIS 9.2的ArcEditor以及ArcInfo可以使用一种称为Personal ArcSDE 空间数据库,目标数据库必须是SQL Server Express。对于ArcView用户,好像有一个专门的 软件 包提供这个功能。

使用方法:

1.在ArcCatalog中选择Database Server,双击Add database Server,输入SQL Server Express的位置,单击ok:





2.连接后会增加一个新的空间数据库,点击右键会有增加空间数据库的选项:





3.选择新增数据库:





个人SDE支持3个并发用户,其中一个用户可以编辑。对于个人,特别是研究、 开发 ,该数据库非常合适,当然,对于一个小Group也足够使用了。



ArcGIS 9.2 笔记(3):三维功能



ArcGIS
三维 功能在悄悄增强,不过还是有些混乱。不过个人觉得,目前来说,要是要在项目中加入3D功能,ArcGIS系列的三维应该是比较合适的。

ArcScene 可以使用Tin或者DEM(9.2以上)作为地形表面,可以增加数个成为Graphic Layer的图层,而这些图层就可以作为三维显示的内容。在Graphic图层上,每个点可以指定一个3D符号:





这个符号可以是3ds等格式,或者Sketchup格式,意为着建模不难。

符号的位置可以通过地理参考控制,包括很多 其他 属性:









ArcGIS 9.2对3D数据的加载做了很多优化,感觉速度快了很多。其他不说,至少现在的所谓 数字城市 ,使用ArcGIS系列应该很容易完成,而且ArcScene是支持二次 开发 的。惟一比较弱的是,显示效果不是很好。

对于 ArcGlobe ,一样可以增加Graphic图层,然后创建三维景观,而且可以二次开发。或者,通过ArcGIS Server发布,然后在ArcGIS Explorer中查看。

当然,不爽的是这么多产品,感觉有些混乱。 ESRI 也许会通过说词表明是针对不同的需求,但实际上也许只是历史和形势使然。不过,总得来说,9.2以后的3D产品可用性还是有了质的提高。



ArcGIS 9.2 笔记(4):数据互操作



ArcGIS
9.2称又增加了很多可以互操作的文件(数据)类型,有些类型需要通过互操作的这个东西来使用,有些可以在ArcMap中直接打开。

对于大部分数据类型,首先需要在ArcCatalog中连接:





有上百种格式:





连接之后就可以在ArcMap中和使用 其他 支持的格式的数据一样使用:





数据互操作 方面,ArcGIS系列确实是越来越好,特别是9.1以后。这个功能在实际中应该用处比较大,知道的人不是很多,希望对大家有所帮助。



ArcGIS 9.2 笔记(5):Georocessing与Python



ArcGIS
9.0引入 Python ,作为其 Georocessing 的 首选脚本编程语言,并使用PythonCOM直接调用作为COM对象的GP(Georocessing的主对象)对象,这个办法是最容易实现的办法,但问 题多多。加上调用方式采用类似Shell的调用,Python在ArcGIS 9.0中形同虚设。前面的Blog里有过多次说明。

ArcGIS 9.2的Python支持去掉的采用PythonCOM的方式,采用C/C++扩展了一个Python对象(GP),这样,Python就可以直接调用该对象,无须启动ArcGIS(由GP来调用AO或者ArcGIS),架构上上了一个台阶。

这 个GP对象存在于ArcGIS的Bin目录下,名称为:arcgisscrīpting.dll,和其他dll不同,全部使用小写的名称也是C风格。使用 Dependency可以看到,这个对象引用了Python24.dll。要在Python中使用,还需要增加PYTHONPATH变量,其值指向 ArcGIS的Bin目录,这样在Python脚本中就可以直接import该对象了:

import arcgisscrīpting

然后就可以使用该对象创建gp对象:

gp = arcgisscrīpting.create()

有了gp,就类似有了Office的Application对象,一切就都在掌握之中了。

使用这种方式有很多好处,最起码的是ArcGIS和Python的桥梁只是通过arcgisscrīpting来搭起,与 其他 东西无关,使用python或者使用ArcGIS都更自由。再者,这种方式下,Geoprocessing也应该比较稳定了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: