WebGIS开发期末实习Word格式文档下载.docx

上传人:b****5 文档编号:21645456 上传时间:2023-01-31 格式:DOCX 页数:21 大小:2.56MB
下载 相关 举报
WebGIS开发期末实习Word格式文档下载.docx_第1页
第1页 / 共21页
WebGIS开发期末实习Word格式文档下载.docx_第2页
第2页 / 共21页
WebGIS开发期末实习Word格式文档下载.docx_第3页
第3页 / 共21页
WebGIS开发期末实习Word格式文档下载.docx_第4页
第4页 / 共21页
WebGIS开发期末实习Word格式文档下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

WebGIS开发期末实习Word格式文档下载.docx

《WebGIS开发期末实习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《WebGIS开发期末实习Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。

WebGIS开发期末实习Word格式文档下载.docx

MXML标签与ActionScript类或者类中的属性是相对应的。

当编译Flex应用程序的时候,Flex解析MXML标签并且生成相应的ActionScript类,然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中,如图1.3。

<

图1.2>

<

图1.3>

六、系统设计

系统架构设计图:

数据设计:

数据以ArcGISOnline的世界地形图数据作为底图。

用地形图的原因主要是该图的文字信息较少,方便查询各省信息,此外地形图颜色配置协调,给人舒适感,提高用户体验。

全国行政区矢量图包括各省H7N9的确认人数,死亡人数,康复人数,形式等级,提供全国H7N9分布信息。

各省行政中心点矢量包括该省H7N9患者的一些基本信息,提供患者的病例信息。

功能设计:

该系统是H7N9信息查询系统,主要提供H7N9患者信息及其分布信息。

为提高用户体验,进行了一些功能的取舍。

放大,缩小,平移按钮取消,图层控制功能也取消,因为没有必要提供给用户该功能。

为方便用户浏览地图,前一视图、后一视图和全图均竖直布置在左边,均用图标代替文字。

为增强查询信息效果,均以弹出窗口显示查询结果,并在地图中高亮显示。

为提高H7N9信息的总体认识,设计了扇形和柱形统计图,方便用户从总体上了解H7N9在全国的分布,以及H7N9在全国分布形势。

此外,为获取进一步的H7N9新闻,设计了相关新闻功能,以便获取H7N9最新动态。

七、实习内容

1、地图文档制作

本次实习,需要准备中国行政区划矢量数据、各省行政中心矢量图和H7N9各省统计数据。

数据通过ArcGISDesktop进行属性表编辑,设置符号样式。

结果如图1.4所示。

注:

地图文档数据一定要有空间参考,否则地图服务无法访问。

图1.4>

2、地图文档发布

2.1数据发布准备

数据发布需先设置一个共享文件夹,ArcGISServer才能访问地图文档数据并发布。

具体操作略。

2.2发布地图文档

登陆ArcGISServerManager账户,访问共享文件夹中的mxd文档,发布地图文档数据(默认发布地图服务,如有其它需求,可再发布其它服务)。

发布成功则显示该地图文档的缩略图。

如图1.5.

图1.5>

3、WebGIS功能开发

3.1配置开发环境

本次实习采用的是FB3版本,API1.3版本,因为网上基于这个环境开发的教程比较多,学习起来容易上手。

环境的配置主要是添加API1.3中的lib或swc文件。

如图1.6。

图1.6>

此外,调试时最好使用IE浏览器进行调试,以免出现不必要的麻烦。

3.2功能开发

基于FB集成开发环境的开发语言是MXML和ActionScript语言。

开发过程中也可以使用可视化开发模式

一般来说代码与可视化结合开发速度较快。

开发过程包括,功能实现和各组件的布局样式设置。

在开发的过程中,代码需要经常进行调试,以期达到理想效果。

八、实习成果

7.1实习总效果图

7.2、基本导航和信息浏览功能

7.3、属性查询功能

1、输入查询

在“H7N9省份统计”面板中,输入想要查询的省份,如江苏,则会弹出一个结果面板,给出查询结果,并在地图中高亮显示,如图1.7。

如果移动鼠标到江苏省上,则会出现tip提示,如图1.8。

图1.7>

<

图1.8>

2、空间查询

2.1患者信息空间查询

当鼠标移动到图中的粉红色圆圈中时,即各省行政中心城市时,显示该省H7N9患者的相关信息,如图1.9。

当鼠标移开的时候,信息自动隐藏。

图1.9>

2.2各省H7N9信息统计空间查询

单击地图中任何省份,弹出一个引用窗口,包含了该省H7N9的所有信息。

2.3统计功能

1、扇形图统计

单击统计面板中的扇形图按钮,则弹出扇形图统计结果。

可以查看各省H7N9比例状况。

2、柱形图统计

单击统计面板中的柱形图按钮,则弹出柱形图统计结果。

可以查看各省H7N9排行状况及具体数目。

2.4链接新闻功能

点击右下角的“相关新闻”链接,则自动打开新窗口,连接到网易H7N9专题新闻页面,以供查询者获取相关消息。

九、实习总结

通过本次实习,掌握了基本的WebGIS设计和开发过程,并学习了一种Flex开发方式,收获颇丰。

总结以下几点心得:

1、数据是系统之源

再好的系统没了数据,也就是一堆废码,有了好的数据,系统也能上几个层次。

当然数据的设计与相关的功能有关,应仔细考虑功能的流程而设计数据结构和功能,防止数据冗余。

2、系统目的要明确

虽然实习设计的系统很小,但麻雀虽小,五脏俱全。

无论进行何种系统设计,系统的目的一定得明确,否则可能会出现数据设计问题,系统功能复杂,系统布局混乱。

3、系统开发要走流程

无论何种系统的开发,都有一定的开发流程和技术规范。

如果不遵守,则会遇到开发中断,重新开发等问题,造成精力浪费。

我就碰到过有同学直接copy代码,研究了半天,才发现数据设计有问题,只得重新来过。

4、开发环境配置很重要

之前遇到过同学拿到参考代码就直接复制黏贴,运行出错的状况,结果发现示例代码开发环境与自己配置的环境不一样。

有一份好的教程和好的开发环境,开发起来事半功倍。

5、GoogleXX得充分利用

有的同学遇到问题,动不动就到处问人。

其实一般而言,后人出现的问题,前人一般遇到过,且早就解决了,利用好Google和XX,是提高开发效率的重要因素。

6、充分利用API示例代码和ArcGISResource资源

可能有的同学不了解示例代码的好处,一个劲的网上找资源,结果找了一大堆复杂的示例代码。

我也因为这个走过很多冤枉路。

后来得知API示例代码和ArcGISResource资源才是最好的教程。

7、先看懂示例代码,再开发功能

相同的功能,具有类似的代码,看懂一个功能,便知道该功能如何修改以期实现自己想要的功能。

在开发的过程中,需要理解功能的核心原理,这也是学习开发的一条快速之路、

总之,开发并不是一件容易的事情,你需要学习很多方面的知识,比如开发语言,系统原理等。

只有你遇到过很多的问题,调试过很多的bug,你才能真正取得进步。

如果你想玩代码玩个痛快,那必须先让代码玩你个痛快。

这是我这次实习最深的感受。

附:

实习源代码

?

xmlversion="

1.0"

encoding="

utf-8"

>

mx:

Application

xmlns:

mx="

esri="

pageTitle="

中国各省H7N9分布统计"

styleName="

plain"

width="

1360"

height="

668"

Canvasid="

cav"

esri:

Mapid="

ChinaMap"

mouseMove="

onMouseMove(event)"

mapClick="

mapClickHandler(event)"

logoVisible="

false"

visible="

true"

<

ArcGISDynamicMapServiceLayerurl="

http:

//lzuliuyun/ArcGIS/rest/services/China/MapServer"

/>

GraphicsLayerid="

myGraphicsLayer"

GraphicsLayergraphicProvider="

{lastIdentifyResultGraphic}"

clickGraphicsLayer"

extent>

<

Extentid="

esriMapExtent"

xmin="

86"

ymin="

22"

xmax="

128"

ymax="

46"

/esri:

Map>

Labelx="

131"

y="

25"

text="

H7N9信息查询"

223"

39"

color="

#0DB674"

fontWeight="

bold"

fontSize="

30"

fontFamily="

TimesNewRoman"

Imagex="

53"

10"

source="

file:

///C|/Users/hp/Desktop/h7.jpg"

70"

/>

Buttonclick="

navToolbar.zoomToPrevExtent()"

enabled="

labelPlacement="

left"

icon="

@Embed(source='

assets/goback.png'

)"

x="

120"

navToolbar.zoomToNextExtent()"

{!

navToolbar.isLastExtent}"

assets/goto.png'

90"

navToolbar.zoomToFullExtent()"

assets/FullExtent.png'

150"

Paneltitle="

H7N9省份统计"

layout="

horizontal"

backgroundColor="

#77C4EC"

borderStyle="

solid"

175.15"

65"

1150"

TextInputwidth="

83"

id="

qText"

enter="

doQuery()"

江苏"

23"

Buttonlabel="

查询"

click="

myGraphicsLayer.clear();

57"

/mx:

Panel>

TitleWindowid="

twind"

showCloseButton="

94"

absolute"

#9CECBA"

barColor="

#39E6AB"

borderColor="

#49F1AC"

>

Labelid="

lbl1"

8"

Label"

lbl2"

34"

lbl3"

TitleWindow>

Panelx="

948"

title="

统计"

#30EA11"

themeColor="

Buttonx="

2"

label="

扇形图"

pie.visible=true"

柱形图"

col.visible=true"

ColumnChartid="

col"

730"

248"

showDataTips="

dataProvider="

{H7N9Num}"

382"

horizontalAxis>

<

CategoryAxiscategoryField="

省份"

series>

ColumnSeriesxField="

yField="

number"

ColumnChart>

PieChartid="

pie"

1075"

PieSeriesfield="

labelPosition="

callout"

labelFunction="

chartLabel"

PieChart>

HBoxfontSize="

11"

#38D3CA"

20"

645"

Labeltext="

经度:

{mapCoordX.toFixed(4)}"

paddingBottom="

0"

100"

655"

纬度:

{mapCoordY.toFixed(4)}"

HBox>

1287"

640"

相关新闻"

51"

openUrl()"

textDecoration="

underline"

toolTip="

点击"

#0521CB"

Canvas>

Navigationid="

navToolbar"

map="

{ChinaMap}"

SimpleMarkerSymbolid="

clickPtSym"

style="

x"

0xFF0000"

size="

12"

SimpleLineSymbolid="

slsIdentify"

0x00FF00"

alpha="

1"

smsIdentify"

diamond"

15"

SimpleFillSymbolid="

sfsIdentify"

defaultSymbol"

#F69696"

circle"

0.5"

SimpleLineSymbol/>

SimpleMarkerSymbol>

IdentifyTaskid="

identifyTask"

concurrency="

last"

url="

QueryTaskid="

queryTask"

//lzuliuyun/ArcGIS/rest/services/China/MapServer/1"

QueryTask>

Queryid="

query"

{qText.text}"

returnGeometry="

spatialRelationship="

esriSpatialRelEnvelopeIntersects"

outFields>

String>

solution<

queren<

kangfu<

Query>

initialize>

!

[CDATA[

importcom.esri.ags.Graphic;

importcom.esri.ags.tasks.FeatureSet;

importcom.esri.ags.tasks.Query;

importcom.esri.ags.tasks.QueryTask;

importmx.controls.Alert;

importmx.rpc.AsyncResponder;

importcom.esri.ags.events.MapMouseEvent;

importcom.esri.ags.geometry.Geometry;

importcom.esri.ags.geometry.MapPoint;

importcom.esri.ags.symbol.InfoSymbol;

importcom.esri.ags.tasks.IdentifyParameters;

importcom.esri.ags.tasks.IdentifyResult;

//实例化QueryTask并且把图层0作为参数,图层0就是Cities图层

varqueryTask:

QueryTask=newQueryTask("

//lzuliuyun/ArcGIS/rest/services/China/MapServer/0"

);

varquery:

Query=newQuery();

//设置查询语句

query.where="

经度>

10"

;

//设置是否返回Geometry

query.returnGeometry=true;

//设置查询需要返回的字段

query.outFields=["

省"

"

信息"

];

//进行查询

queryTask.execute(query,newAsyncResponder(onResult,onFault));

//查询完成后调用方法

functiononResult(featureSet:

FeatureSet,token:

Object=null):

void

{

foreach(varmyGraphic:

GraphicinfeatureSet.features)

//为城市点添加鼠标移动上去的事件监听

myGraphic.addEventListener(MouseEvent.ROLL_OVER,maouseOverHandler);

//为城市点添加鼠

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1