摘要:经过一份折腾,集成终于初步搞定了,今天实现的功能有: 1.识别功能(Identify)的实现,单击“识别”按钮后,在地图上单击一点,所有在被点击处3米范围内的地块都会以黄底红边状显示,而鼠标移动时则会出现各自地块的属性,鼠标移开,消息消失: 2.进一步完善了缓冲区功能,现在提供了点、线和面三种缓冲方式: 下面是一个线缓冲: 缓冲默认情况下是50米和100米,但通过缓冲距离设置窗口,也可以进行调整:...
阅读全文
摘要:继续对集成的Panel进行修改,这一次的修改部分比较底层,它包括: 1.对esri.Map类根据需要进行了扩展,派生出一个esri.AGSMap类来实现了我需要的许多功能; 2.对地图的图形绘制属性设置进行了充分地的调整,包括颜色、透明度、点、线和填充样式都可以自定义设置: 3.搭建了GeometryService服务,并通过该服务提供了长度量算、面积量算和缓冲区分析的功能: 缓冲区分析,该缓冲区...
阅读全文
摘要:闲暇时继续对我的这个Panel进行扩展,现在的效果终于出来了,首先是地图功能的增加: 第二是实现了查询的图文一体化,比如查询“银行”,左边地图中会出现绿色小点,而右侧也会出现相应的内容: 单击右侧的某一条记录,绿点会变成红点,同时弹出信息提示,但2秒钟后红点又会恢复为绿点,提示信息也会消失: 地图与右侧的信息窗口并不是一个Panel,它们是独立的,两边通过Ext的事件进行通讯,既方便又简单。
阅读全文
摘要:地理学有两大类特殊概念,一是地理实体与地理现象,二是时空特征和时空关联特性[1]。对第一点而言,这些实体和现象表现为任何尺度的地理特征,它可以小到一个广场,也可以大到整个星球;地理实体包括自然界形成的任何一种地质构造——海岸线、山脉、河流和盆地,同时也包括人类获得的印记——城市、村庄和高速公路。地理现象更加丰富,如水灾、干旱、生物灾难、土地的再分配、城市发展等。GIS目前最有影响的使用领域都集中于此。
对于第二点,“在什么地方”仍然是最经典的问题。这个问题既可以描述地理对象在地球的位置,也可以回答在它的附近存在的地理现象,甚至是本身发展的趋势。
阅读全文
摘要:我在《插件式GIS应用框架的设计与实现》一书的算法章节介绍过基于“左转算法”的自动构面过程和具体代码,如果仔细看过的读者会发觉,我们的构面过程的套路是:1.寻找出建构拓扑网络的节点和路径 2.建立拓扑网络 3.自动构面 4.剔除无效面和处理岛与洞。
在这个过程中,自动构面的过程的效率其实是不低的,由于引入了“正向”和“反向”是否已经“走”过的标记判断,这个基于“左转算法”的过程实际上会越走越快(因为越到后面,越多的点会发现自己的连通路径已经被正反走过,它们也就无需再进行构面的搜索过程),那么效率出在什么地方呢?就是拓扑网络的建立。
阅读全文
摘要:问题:有四条polyline,排列成“井”字形,且中间的“口”字形线段,每条边长度均大于249,如何将该“口”形构面,速度要快,不要用左转算法一类的搞法。
解决方法:
阅读全文
摘要:今天终于完成了宁波市地形数据整合的汇报,我在汇报中演示了个人开发的“宁波市基础地理信息系统”在数据整合过程中的运行过程。这是毕业后两年的个人工作成果,从系统设计、编码开发、程序测试到文档编写,终于初步完成了整个流程框架。
下面是几个演示的AVI文件,有兴趣的朋友可以下载去看看:
阅读全文
摘要:周四、五两天在杭州浙大西溪校区的逸夫科技馆参加了ESRI上海办事处搞的ArcGIS Server9.3培训,在去参加培训之前,我以为这次培训内容这么前沿和新潮,参加的人一定不少,因此特地和ESRI上海市场部的人用邮件沟通了几次。
但真正当我9点进入科技馆的报告厅时,还是不免有些奇怪,整个会场完全没有我预期到的热闹场面,可以坐几百人的厅内,稀稀拉拉的坐了不到一百多人,浙大也有GIS专业,不明白为什么这么好的机会,居然没有多少人参加。
阅读全文
摘要:继续我最近关于操作SDE海量数据库的心得。我开发的一个功能是将MDB中的要素写入SDE要素类中,这个功能并不复杂,我早就写过一个非常完备的LoadFeatureClass函数,但在加载要素之前,我还需要在SDE库中进行一些操作,也就是对每遍历一个MDB中的要素类时,必须对 SDE库中对应的两个要素类进行一些处理,结果,就非常“幸运”地频繁遇到了Network I/O Error[xxx(某个要素类)]。
阅读全文
摘要:要素裁剪的问题,即如何裁剪要素的SHAPE,还有许多网友在询问,其实这并没有什么特别之处。除了AO自带的Clip函数以外,我一般都是使用ITopologicalOperator接口提供的拓扑方法来自己搞定,原因很简单,每一条要素的裁剪情况都能自己掌握。
要素裁剪无非两种情况,一是不处理裁剪面边缘上的要素,统统删除,这个没有什么问题,空间关系选择Intersect即可;另一个是裁剪边缘上的要素,如Polygon如果与裁剪面相交,则保留不想交的部分,如果Polyline与裁剪面相交,也是保留面外面的一部分线段。
阅读全文
摘要:往Personal GDB或SDE GDB中写入要素记录是一件非常简单的事情,但似乎太多的情况下,写入数据的用例过于简单,使得许多代码问题、特别是ArcSDE本身的问题和Error无法暴露,很多人也从未意识到类似的问题。我最近正在做类似的工作,代码编写似乎不难,但测试就要了命了,发现的问题数不胜数,头痛不已。
1.插入记录的效率问题
向要素类中插入记录有两种方式,一是IFeature.Store,另一个是IFeatureCursor.Insert(IFeatureBuffer)和IFeatureCursor.Flush方法,显而易见的,后一种方法由于使用了缓存,速度上比前者快。
阅读全文
摘要:插件技术是在软件的设计和开发过程中,将整个应用程序划分为宿主程序和插件对象两部分,宿主程序能够调用插件对象,插件对象能够在宿主程序上实现自己的逻辑,而两者的交互基于一种公共的通信契约。宿主程序可以独立于插件对象存在,即使没有任何插件对象,宿主程序的运行也不受影响,因此,我们可以在避免改变宿主程序的情况下通过增减插件或修改插件的方式增加或调整功能。由于使用了插件技术的宿主程序具备了一个框架的本质特征,因此可以将它看作是一种插件式框架。插件式框架能够有效地降低功能对象与对象管理逻辑之间的耦合程度,并将耦合置于最优的程度。
阅读全文
摘要:AS产生Web Application的方式有两种,一种是使用ADF来开发,另一种是使用AS Manager的Create Web Application命令来产生,无需手工写一行代码,生成完毕后者c:\inetpub\wwwroot\中会生成一个Web应用程序,可以访问AS提供的服务。
但是在新建的时候,第一步设置Name属性时,总是出现一个“Host machine is invalid”的错误......
阅读全文
摘要:在Apache上安装TileCache......
阅读全文
摘要: TileCache是我在翻译《GIS for Web developer》一书时了解的一个GIS组件,它居于GIS服务器之前,可以将任何WMS服务的数据进行Cache处理,以产生瓦片式WebGIS效果。我在网络上寻找了许久关于TileCache安装和使用的资料,但是一直没有什么结果,后来好不容易在Google的缓存中寻找到一篇《Seting up TileCache on IIS》的文章,特翻译出来以共享之。
阅读全文
摘要:Python 是一种解释脚本语言,概念类似 Microsoft Visual Basic Scripting Edition (VBScript)、 MicrosoftJScript、 Perl, 或其他脚本语言。 对于 Active Server Pages (ASP) 以及简单通用网关接口 (CGI) 脚本,IIS使用 WindowsScriptingHost 解析VBScript 和 JScript , IIS 可以使用其他脚本解释程序。 本文介绍如何使用 Python 作为脚本语言是选择用于 CGI 和 ASP。
阅读全文