首页 > 编程知识 正文

arcgisserver无响应(arcgis授权文件在哪)

时间:2023-05-03 21:36:49 阅读:1027 作者:1785

目前互联网上有很多公共地图服务,比如谷歌地图和Mapabc,提供最新的交通状况和高分辨率的卫星图像。通过定制Flex Viewer源代码,可以实现水环境业务地图与这些公共地图的无缝叠加。山谷地图和地图地图都使用墨卡托投影,墨卡托接近最原始的墨卡托,即正轴墨卡托(投影圆柱的轴与地球自转轴重合)。只需在ArcGIS中将相关业务图层定义为Web Mercator投影即可。使用ArcGIS Server发布地图服务后,您可以将谷歌地图无缝叠加到此系统中,无需任何坐标转换,也可以叠加其他公共地图服务。图3.5.3显示了叠加谷歌图像地图后的效果:

图3.5.3叠加古格影像图

其他水环境业务功能可以通过自定义Widget实现。小部件是完成特定业务功能的一组相关操作的封装。Widget不仅可以调用地图资源,还可以访问服务器端资源。基于Widget的Flex模块,编译后是一个独立的swf文件。这样将具体的业务逻辑封装在Widget中,在业务功能较多的情况下,减少了系统主体的体积,显著缩短了系统加载时间。加上面向接口编程和依赖注入的应用,可以独立开发Flex Viewer中的小部件,通过配置文件提供哪些小部件,从而决定系统提供哪些业务功能。Widget可以理解为“插件”。这种灵活的“插件”机制就是3.5.4.1所示的编程模型。

3.5.4.1控件编程模型

小部件分为两种类型,控制小部件和业务小部件。控件Widget是指控件组件,如NavigationWidget、HeaderControllerWidget、OverviewMapWidget等。这些小部件提供系统级功能,而不是特定的业务功能。业务Widget指的是业务组件,如SearchWidget、BookmarWidget、GeoRSSWidget等。这些小部件提供特定的业务功能。这两种小部件都继承自基本小部件,并由WidgetManager管理。区别在于WidgetContainer中有一个WidgetContainer来管理业务小部件。

这两种Widget都有一个公共的父类BaseWidget,它实现了接口IBaseWidget,所以它们有一个公共的接口。管理器通过IBaseWidget管理小部件,并将其与特定的小部件分离。这里Flex Viewer采用面向接口的编程和依赖注入,实现了主系统和Widget的松耦合。

1)IBaseWidget

这个接口定义了WidgetManager和Widget的交互方式,BaseWidget实现了这个接口。

2)BaseWidget

这个类是所有Widget的基类。WidgetManager可以管理一个组件,只要它继承自BaseWidget。由于基本小部件继承自模块,每个小部件将被编译成一个独立的swf文件。

但是,这两个Widget的实现是不同的。Flex Viewer为Business Widget提供了统一的UI基类和接口,即WidgetTemplate和IWidgetTemplate。通常,控件小部件将使用自定义用户界面,但这不是必需的。

3)IWidgetTemplate

这个接口定义了BaseWidget和WidgetTemplate之间的交互方法。WidgetTemplate实现了这个接口。

4)WidgetTemplate

这个类是IWidgetTemplate的默认实现。在特定的Widget实现中,也可以使用用户定义的WidgetTemplate,只要实现了IWidgetTemplate接口。WidgetTemplate为Widget提供基本的UI控件,包括窗口面板、带图片按钮的标题栏等。通过Flex Viewer实现的WidgetTemplate,开发人员可以将更多的精力和时间投入到实现业务逻辑上。

图3.5.4.2至图3.5.4.5为定制Widget实现的水环境业务功能效果图。

图3.5.4.2水环境污染敏感性分布图

图3.5.4.3水质断面实时监测状况变化

图3.5.4.4水质监测断面年度统计直方图

图3.5.4.5某河段一维水质模型污染路径模拟结果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。