gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:2957回复:0

运用MicroStation BASIC 宏建立地理信息系统资料

楼主#
更多 发布于:2003-08-15 11:09
运用MicroStation BASIC 宏建立地理信息系统资料

第三部分:创立web cabinet

延续这类的主题,这篇文章将谈及运用MicroStation BASIC宏架构地理信息系统资料。但不管如何,这个月所谈到的宏macro具实用价值,因为将提供如何撷取已存在的图形资料及连结资料库中的属性资料的工作流程,并让这些信息能通过网络来观看。
这类的每一篇文章都将解决问题的过程归类为以下的步骤:

问题:工作需求

分析:了解资料的建立与输出的需求

设计:发展解决方法并以如演算法的模式表达

成果:将模式写入 MSBASIC 宏中

执行与确认:利用简单的资料为宏做测试
除了提供有趣又极富利用价值的宏外,希望藉由这类文章的阐述来抛砖引玉以激发MicroStation BASIC更大层面的运用。照例,可由MSM Online或作者的网站( http://www.geodataresources.on.ca/ )获取这些宏与范例。

地理信息系统信息于网络上发布的建立

问题

就如同许多的公司在处理他们的工程资料,总是想利用区域的公用程式建立资料库与图形资料来让在外的工程人员能有效读取这些资料,但这些在外的工程人员们,大部分都只懂得简单的电脑操作,然而却不熟悉如何操作CAD或GIS这类的软件。

分析

让我们来看看如何利用公用程序来更改系统

虽然图形信息存放于MicroStation 设计档案中,并其相关的属性资料则储存于Microsoft Access资料库中,但这些资讯是由那些非工程人员完全以纸图为基础格式所建构而成的资讯,但输出的地理信息资料是需提供如地图的索引、一系列的连接计划、一些源自于街道住址的非图形的属性资料纪录与储存这些资料的档案。

缺点如下:

只有单一主要的拷贝纸张纪录可用,且资料随办公室移动。

需要有地图索引与住址的对照手册方能找到点位上的相对资料。

资料的更新相当不易,因为新的地图资料需要重新绘制且属性资料需要人工订正。
对于这个问题的解决方案,我的想法是相当直接的,只要在网站上建立一个以地图影像或网页形式为主的简易应用程序,就能快速提供简易的资料,并让其有效的运用于局域网或互联网上。如此即可解决上述缺点:

任何电脑均可通过局域网或连接互联网来查阅资料。

资料的寻找可以通过地址或街道名称与门牌号码的输入轻松获得。

网络的信息的更新只需通过按键就可达成。

这结果只是用简易技术层面考量所能得到网络地理信息系统的方法。纵使应用这些web cabinet,所能提供的也只有观看与点选查询的功能,而通过精美的应用程序即可轻松完成这些动作。只需一次安装,即可通过网络浏览器让使用者驾轻就熟的在电脑上运用。

在我们看网络视窗详细架构之前,我们需先定义于web上工作的一些基本元件。网络浏览器(或只是浏览器)是使用者电脑中一小部份的软件(通常要看客户端电脑的安装),浏览器所送出的需求被转换为URL的形式,通过网络送达服务器,服务器再依其需求以HTML(HyperText Markup Languages)或影像格式的拷贝回传至浏览器,使用者即可利用浏览器来观看这些资料或影像,如果使用者点选超连结文字或影像,则另一个需求会被送达服务器,那么上述的程序就会一再的被重复使用。

浏览器如Netscape与Internet Explorer除了传送需求的功能与阅读HTML文件格式的能力外,也可以解析与执行包裹于HTML内的小程序,Netscape与Explorer都有支持JavaScript程序语言,我们可以应用它来提供我们的web cabinet上的地址选取与信息检索。(注意:JavaScript远比Java简单,JavaScript只限于浏览器中使用,像是程序语言中的宏,而Java则是全功能性的程序语言,它可以用来建立跨平台的Java applets与应用程序,MicroStation/J的新程序语言JMDL即是建构于Java而非以JavaScript为基础建立。)

重述刚刚的问题:我们需要拿现有的图形资料结合资料库中的属性资料纪录,然后找一个简便的方法让这些资料能在网络上发布运用。通过浏览器简单操作的界面中让选取的地图与属性能完整的展现。

设计

在先前的部分我们谈到图形档案及资料库的表格的输入资料与通过浏览器输出合适的地图影像及包括属性的HTML需求档案,但如何搭起输入与输出信息的供需桥梁呢?这时就可以利用MicroStation BASIC来做这件事了。

我们可以写MicroStation BASIC宏来搜寻资料库中的表格撷取特定栏位的纪录资料并建立HTML中的每个文字档案,同时宏亦能显示利用MicroStation的公用程序来选取所需的相关图形影像档案,宏也可以产生所选取列出部分的街道名称及住址号码,其中包括了HTML的需求、JavaScript code所提供的界面与网络上所提供的功能。(参考图1 )

我们可以先完成数个其它功能的宏选项,例如建立只做部分快速修正的功能、除去列出时没有地址号码的资料的街道与每个影像所包括的指北针及比例尺。这都可以利用宏来调整视窗的旋转角度与缩放大小,也可以增加特定角度与比例时,每张地图影像所包含图徵的选项。

当影像与HTML档案被启动后,即会通过网络连接至网站上,而web cabinet所提供的结果远比原先的图纸资料更具便利性及优势,他可依据名称来获取所需的图形及资料。

因为这是相当容易执行与使用,web cabinet的服务将以动态网络为起始点来发展全功能性的网络地理信息系统。举例来说,运用ColdFusion或Active Server Pages这些较复杂的技术来对资料库作查询的动作并将所得的结果以网页的格式显示于HTML网页上,最後所得属性资料即可在使用者屏幕上作展示。此外更复杂的网络地理信息系统软件,例如Bentley  ModelServer Discovery则能通过网络的互动获取对应的信息,并且在地理信息系统方面的功能,它提供了地图浏览、资料库查询以及位向分析。(若想知道这计划更详尽的描述与信息,可于www.GeodataResources.on.ca/webgis 获得)。

成果

除了设计档案中的资料外,其他资料库中的表格是需建立一个web cabinet。如上的讨论可参考图1。在设计档案或参考档案中每个图徵的图形资料与数字,只要是显示在屏幕上的无论是以何种方式呈现均可被转成地图影像;因此在宏执行之前 特别注意显示的图层、视窗属性的设定及背景颜色。进而利用宏来控制每张影像的视景大小,倘若资料库中的资料许可的话,亦可利用宏来控制视景的旋转角度与范围大小(稍後再作探讨);如果不用宏来作控制的话,则 在执行宏之前建立视景的旋转角度与范围大小。以图2为例,单一的影像配合标示显示出关于水资源服务的简单资料。

每张地图上的图徵均 连结至资料库中非图形部分的相关属性纪录,这些传回的纪录是依据资料库中一个或两个的对照表所提取出来的资料。大部分资料库的属性资料(以使用者的栏位需求)在读取後被放置于HTML报告格式的档案中,而其他的属性资料(系统栏位)是使用宏来将资料明确的放置于图徵上,在系统栏位中,X与Y的座标值是最重要的两个栏位,在获取影像之前就使用宏定出图徵的中心点位置。

此外(选择性)的系统栏位可以用来设定视景或改善执行效率:

角度:获取影像前旋转角度的视景。

距离:一或多个距离数值,其最大值可代入公式来计算视景的最佳大小。

修正:由true/false的栏位决定。当原先的web cabinet被更换之後,则图徵与栏位中的资料亦应做适时的修正,所以当宏执行修正动作之时也同时撷取修正图徵。

空值:由true/false的栏位决定。在指定街道的栏位中空缺住址号码则将会再列出之时排除,不列入选取表格之中。

为了使WebMaker宏能够更具多用性,所以资料库中的表格名称以及上述的栏位都不在宏中用程序写死,即使是HTML属性资料所使用的表头、设置影像大小的数值或视窗大小的调整与指北针方向的配置也是如此。换言话说,这些设定都是利用宏从资料库里的metadata表格中读取。如表1所示,metadata被分类至五个类别之中。

目录与子目录的路径是让web cabinet存放各种元件。

主要的属性表格名称,与其使用者及系统栏位。

主要街道名称(或任何其他)的对照表,与其使用者表格及系统栏位对照表。

辅助选项名称的对照表及其使用栏位。

影像宽度与高度所需的相关数值,计算视窗大小时所 调整的距离以及放置指北针时所需调整的角度。

 

WebMaker宏的Metadata表格





执行与确认

利用我们所提供的范例与资料来执行WebMaker宏来产生web cabinet,大部分的设定使用内定值即可,所需的软件如下:

MicroStation 95, MicroStation SE, MicroStation/J

MicroStation ODBC database server

Microsoft ODBC data source for Access

这边分为三个步骤来架设:第一步骤是信息的下载与准备。第二步骤是WebMaker宏的执行。最后则是web cabinet的测试。这全部的时间大约为20分钟,这要以所选择的选项执行程序为准;所需的硬盘空间为1.5Mb至15Mb之间,如果您不想自己来做这些程序只想看看结果,那就可直接利用浏览器进入下列的网址www.GeodataResources.on.ca/pucweb/ 。

Web Cabinet原始档案





信息的下载与准备

可由MSM Online或作者的网站下载含有范例信息与宏的压缩档案webcab.zip。
选择一个根目录来进行解压缩,使用Winzip选项中的目录名称即可,就会自动产生以下的目录。(参表2即可得知这些目录中每个档案的功用。)
\webcab web cabinet 这个应用软件中最上层的资料目录,其中含括宏及范例。

\webcab\web 应用于web或network中最上层的信息目录。

\webcab\web\map 执行宏而产生的地图影像档案所放置的副目录。

\webcab\web\data 执行宏而产生于HTML的属性资料档案所放置的副目录。

\webcab\web\list执行宏而产生于HTML的住址号码列表档案所放置的副目录
开启资料库WebCab.mdb。
开启设定Webmaker宏的环境变数与数值的metadata表格,若可以的话从解压缩的过程中选择上述程序中的路径进行即可。

开启水资源服务之图徵与资料表,在撷取影像之前特别注意每个图徵中心所对应的X、Y轴的座标。

检查其他表格及其相关信息。若有很多不足之处,则关闭表格及资料库。(参图3)
建立webcab目录存放资料库WebCab.mdb为ODBC信息来源。若需要知道更详细的内容,可参考这一系列中的第一篇文章中所提到的步骤三(MSM, 2000年9月)。参考资料是有关MicroStation资料库界面的建立,刊于1999年1月的MSM里头(第23页)与我的宏程序书中(第6-4页)。
开始MicroStation并开启WebCab.dgn设计档案,设定绘图背景为白色(在Workspace>Preferences选取view Windows,内容即能将黑色的背景颜色改为白色的背景颜色之选项),调整显示层别、图形元素及相对的显示属性。
连接资料库:
选取Settings>Database>Connect…开启联结资料库的对话方块。

选取ODBC并输入webcab为连结字串,在按确定键。

稍待片刻之後,资料库:webcab 将于状态栏中显示讯息。(若无显示任何讯息,可能是MicroStation ODBC资料库服务器没有载入或者是步骤四中资料来源的定义不正确。)
注意:宏会自动连结至资料来源(所以你可以掠过步骤四),倘若在wdodbc的参数中想包含启动MicroStation的指令,则 在wdodbc的内容设定启动路径如下 :\Bentley\Program\MicroStation\ustation.exe  wdodbc(在连接间需有空格)。

WebMaker 宏设定(表3)





是用以下两种方法之一,即可启动宏:
在指令的视窗中输入宏的所在位置c:\webcab\webmaker(假设目录位于c盘中)

选取Utilities > Macros,按下浏览按键,设定的档案型态为任意档案均可浏览(在选择宏的对话方块中),点选档案WebMaker.ba并按下确定键然后执行(在开始宏的对话方块
WebMaker对话方块的呈现方式可参考图4。可依据表3来检视有效的设定,当宏执行时就会将其内定值设定于软件中的环境变数之中;当使用范例信息执行测试之时,可依下列各点进行调整:
在过程的部分,若只选择Revised Records选项来进行,就只会从资料库中的表格纪录中传出45笔图徵。(传送的时间大约为1分钟,所占的硬盘空间约略为1.5Mb;相对的若开启所有的纪录选项,其传送的时间约为10分钟,所占的硬盘空间约为15Mb。)

隐藏Clear Revised选项,因为如有需要可同时于宏执行时进行。

在更新的部分,选取Ignore Empty Streets选项或关闭Set Empty Streets选项应从相同的范例资料取得。

按OK后即可继续。

视景1是重新缩放由metadata表格中读取以视景宽、高 (以像素为单位) 的所需影像大小。在确认视景1清除任何的对话方块或工具箱时就会有警告讯息显示;回应的方式如下:
若要清除视景,按Yes后即可继续。

若不要清除视景,则按No,重新执行宏以安排屏幕的显示(由步骤7开始)。

注意:使用步骤8来连结设定时,可能会显示其他的警告或错误讯息。

宏首先建立的是街道与住址号码的目录,在图徵显示于状态栏的同时,亦由资料库的属性资料产生HTML的报告档案及撷取每张地图之影像,当结束后,则会有综合讯息来显示整个过程中图徵显示的个数、总时程及平均时程。
当指北针与比例尺被暂时放置于每个被撷取的影像档案时,就会显现一个对话选项来进行档案的压缩,可按Yes键以进行压缩的动作。
利用Windows Explorer来检测影像及HTML档案,以确立地图和资料的产生与摆置并列出副目录(\webcab\web底下的目录)。注意每个所需档案的型态及所占空间。
Web Cabinet的测试与执行

使用下列任一种方法,通过网络浏览器开启index.htm以检测新的web cabinet:
直接点选index.htm档案,即可利用内定的浏览器来开启这个档案。

通过Internet Explorer,选取File>Open所产生的对话方块,点选浏览档案来选取index.htm,按Open再按OK即可开启。

通过Netscape Navigator,选取File>Open Page在其产生的对话方块中点选Choose File,选取index.htm之後按下Open即可开启。

当index.htm载入浏览器之后即会显示内定的档案及其四个外框(参图5):
地图外框(右上位置):显示地图影像档案。

资料外框(左上位置):显示资料库中的属性资料报告档案。

输入外框(左下位置):可以选取街道名称以及输入住址号码的功能;View键(显示影像及指定住址的纪录),Clear键(回到内定框架档案的显示),List键(显示列出框架内所选取的住址号码)。

选取框架(右下位置):可以选取已知街道上的住址号码并显示相关影像及纪录。

在输入的栏位中,键入的Address 为1458,从列出的街道名称中选取FAIR AVE,按下View键来显示1458 FAIR AVE的相关地图影像及HTML纪录档案,检查其影像及纪录表头与数值。
按下List键以列出FAIR AVE街道上的住址号码,选取纪录中的1402来显示1402 FAIR AVE的资料。
若有 要可选取其他的住址,但在FAIR AVE中只可选取大于1400的住址,即使是HAWTHORNE DR.的住址号码也是相同情形,因为我们只有已经修改过的纪录,这些街道住址也只有这些资料是较具价值的(虽然一个完整的街道是 要列出全部住址号码)。
所有的档案与 webcab\web下的副目录可移动至network drive或web上,以便让其他的使用者进入使用。
Web Cabinet 执行结果

虽然这篇文章的范例是水资源服务系统,但web cabinet具有多面性可公认和型态的图徵使用(如地籍系统、消防系统与供电系统),像这类的图资与其相关属性资料都相当有价值性。

上述程序的步骤大纲是以范例资料来建立web cabinet,所以这最後的部分与上述的参考步骤都能提供您在架构自己的资料时,找到适当的程序来建立web cabinet。

档案与目录(步骤2)。参考范例的资料设定来建立属于自己的目录架构。至少 建立web目录,从副目录 \webcab\web 复制五个HTML档案到web目录里;你也可以使用范例所设定的目录架构,但需删除存放全部资料、列表与地图的副目录。任一个方法,都可以建立属于自己的首页。

资料库(步骤3)。你应该将你的metadata表格(在WebCab.mdb资料库中)输入资料库中,花一些时间去熟悉有关metadata表格的设定(在SetDesc栏位中与 表1均有描述)这些设定应用于你的资料与环境当中。

如果你的资料库记录中,每个图徵都没有X、Y座标值或旋转角度,则可以根据连结地图元素时利用宏DBloadXYZ.bas 来获取这些值数。详细情形可以参考宏的说明。MicroStation GeoGraphics也有提供Load Origin轻易的获得X、Y座标值并加入资料库记录中。

 要注意的是所显示的图徵并非如这篇文章的范例一样,只限于街道名称与住址号码;任何two-tier的独立系统都可以完成。举例来说,你的web cabinet可先建立使用者会先选取的图徵型态(如变压器、公用电极与消防栓),然後选取属于列出有效的ID值得特定图徵(如TX1234);在不同的独立系统中可以完成,判断街道的对照表设定(metadata的3.0-3.6或参考表1),在执行宏所产生WebMaker对话方块中,更新部分的设定要特别注意(参图4或表3)。

资料来源(步骤4)。 要建立另一个ODBC来连接你的资料库,也可以重新设定已存在的webcab资料来源。

图形档案(步骤5)。开启图形档案并将所需参考的档案加入,执行宏之前需特别注意显示的图层、元素图徵、视景属性与背景颜色。若想要加入指北针与比例尺,则需加入零件库所提供的图徵WebMaker.cel。

资源(步骤7a)。根据70,000人口的中型城市,具有22,000个实体的普通公用资料,若是用台式电脑(Pentium II, 350MHz)来运作web cabinet档案,其时间与宽间的需要大致如下:

每个图徵产生过程所需的时间为1.2秒(全部图徵的完成为7小时)

每个图徵所需的硬盘空间为25k(全部所 的硬碟空间为550Mb)
这篇文章中的最后一个选项虽然不是在web cabinet的第一版中完成,但却相当实用于简单向量格式(SVF)档案。利用SVF来替代影像,则使用者在浏览地图的功能其效率会更快;如地图的缩放、视景的选取。显示图层的控制方面,则可以通过相关的MicroStation的图层与层名、层别来确认。通过WebMaker宏来使用MicroStation的出图驱动程序SVFlore.plt或SVFhires.plt来完成选取部分的地图图徵的输出(相对于更正屏幕的撷取方法),所以每个使用者都 下载与安装SVF plug-in协定(可由http://www.softsource.com/购买或试用),往後则可于web浏览器中应用操作,或许在未来web cabinet的第二版中会增加这个功能,在此同时,也就会有更多的兴趣将你的信息来做成web cabinet,所以如有更多的信息或任何的建议,请让我知道。

本文原载于 MSM December 2000 Vol. 10 Num. 12
 
喜欢0 评分0
游客

返回顶部