Flex框架下网络视频GIS设计与实现
- 格式:pdf
- 大小:514.22 KB
- 文档页数:4
ArcGIS-server-Flex编程的图解教程三篇第1条万维网地理信息系统是基于Flex和RESTArcGISServer发布和方法1简介的网络地理信息系统,是一种利用交互式网络技术扩展和完善地理信息系统的技术。
随着网络地理信息系统的发展,用户对其表现形式有了更多的期望。
与此同时,开发人员也希望有一个更加简洁和高度可扩展的架构。
基于瘦客户端和胖客户端的WebGIS技术可以分为两种方案。
在基于瘦客户端的方案中,客户端仅使用标准的网络技术,如超文本传输协议(HTTP、HTML)和Javascript。
胖客户端的挑战是通过下载和安装插件来增强浏览器的能力。
代表性的技术包括插件、ActiveX控件技术、JavaApplet技术和SVG技术。
瘦客户端的开发模式已经成为网络地理信息系统的主流开发模式。
基于B/S架构的网络地理信息系统发展迅速。
然而,随着互联网影响力的不断扩大和地理信息系统技术在各个行业的广泛应用,人们逐渐对当前网络地理信息系统网页技术的性能效果和交互性不满意,希望网络地理信息系统具有类似于C/S的性能效果和交互性RIA是新一代网络应用。
这个概念是由XXXX的Macromedia 首先提出的。
它将桌面应用程序的交互性和用户体验与传统网络应用程序的部署灵活性和成本分析相结合。
它具有无需刷新页面和提供快速界面响应的优点。
就用户体验而言,RIA有着光明的前景。
基于RIA客户端开发的新框架也不断涌现,如微软的Silverlight、Sun的JavaFX和Adobe的Flex。
Flex的优势是第一印象最持久。
根据XXXX奥多比公司在年底进行的一项调查,经过近十年的推广,FlashPlayer9已经安装在超过95台互联网电脑上,而且这个数字还在以每天100万台的速度增长。
Flex和REST的结合是最流行的分布式系统解决方案之一[1]。
将该方案应用于网络地理信息系统,可以方便地建立一个具有丰富表现力的网络地图应用程序。
基于Flex的XX络课程设计与实现在20XX年公布,是目前最完善的ri(rich internet ppliction,富互联XX应用程序)技术。
基于flex与ri技术能将传统的桌面应用程序搬到扫瞄器里运行,具有更好的XX络交互能力、更绚丽的表现效果,使用相对简单的代码就可以完成绚丽高效的flex 程序[1]。
flex应用程序提供了一系列独特的功能,包括:表现力、高执行效率、丰富媒体支持、脱机支持等。
flex在XX络课程中的应用可以改变远程学习者与教学系统的交互方式,改进教学资源界面质量,带来良好的学习者体验[2]。
2田径XX络课程设计本文以田径课程为例,以flex技术为基础,进行了XX络课程的设计与开发实践。
本XX络课程遵循以下教学策略:(1)以自主学习为中心。
XX络课程在设计时坚持以探究性学习为指导,以学生为中心,促进学生自主学习。
本XX络课程中,学习者学习活动包括自选学习内容、自定学习进度、观看视频、观摩演示、自我评价、反馈等。
(2)以异步学习为基础。
现有XX络媒体更适合异步学习。
同时,异步学习更能体现学习的自主化和个性化。
(3)建立多元化学习环境。
XX络学习结合书本、光盘等实体学习资源,建立正确的技术表象,并将表象转化成为标准的动作技能。
将离线资源与XX络课程相结合完成学习目标。
(4)以协作学习为导向。
学习者利用XX络课程中的交流平台,相互讨论在学习中遇到的问题,弥补个别化学习的缺陷,提高学习效果。
通过对课程对象、课程内容、课程需求分析,田径XX络课程模块设计如图1所示。
图1田径XX络课程结构设计(1)理论学习。
涵盖田径各方面知识,相当于理论教学的教材。
但田径XX络课程不仅仅是文字教材的“复印”,需要将教学内容进行新的整合。
(2)视频教学。
课程制作过程中,首先收集国际优秀运动员动作示范录像,然后用视频编辑软件根据田径各项技术动作的特点和教学需要,化动为静、化快为慢,使学生学习既能感知动作技术全过程,又能了解动作技术各环节的细节。
基于Flex和ArcIMS的WebGIS设计王辉;唐俊勇;田鹏辉【摘要】采用传统的信息管理系统难以满足火电行业对煤矿等地理数据的需求,为此设计开发基于Flex和ArcIMS相结合的WebGIS系统,用于全国各大火力发电厂煤源及煤矿等地理数据的管理与查询。
在WebGIS系统采用Flex技术和浏览器相结合,用ArcIMS技术进行地图数据的发布及处理,结果表明,Flex技术与ArcIMS地图发布软件相结合,在WebGIS开发和应用中有着广阔的应用前景。
%In the paper, a project is developed that a management information system based on internet geographic information system, it can be quick, concise, and efficient to manage data, better serve the coal-fired power plant or related enterprises and institutions. The paper first analyzes the basic construction of Flex and ArcIMS rich internet application technology,secondly, based on this construction, the paper proposed a general framework of WebGIS system, and the database model, the server of coal furnace type coupling data management information system is designed and realized. The result conforms that Flex technology is operable and has a splendid applied foreground in improving interactivity and expressiveness of WebGIS.【期刊名称】《大众科技》【年(卷),期】2015(000)009【总页数】4页(P11-14)【关键词】地理数据;WebGIS系统;Flex技术;ArcIMS技术【作者】王辉;唐俊勇;田鹏辉【作者单位】西安工业大学计算机科学与工程学院,陕西西安 710032;西安工业大学计算机科学与工程学院,陕西西安 710032;西安工业大学计算机科学与工程学院,陕西西安 710032【正文语种】中文【中图分类】U416.01在地理学、地图学、测量学以及计算机科学等学科的基础上发展起来地理信息系统(Geographic Information System,GIS),GIS系统将数据库和计算机图形学融于一体,把相关属性和地理位置有机结合,与普通信息系统相比,提供的数据更加形象直观,同时具有独特的空间分析能力等特点。
第35卷第5期2010年9月测绘科学Sc i ence o f Survey ing and M app i ngV o l 35N o 5Sep作者简介:宋宏权(1986 ),男,河南省民权县人,硕士研究生,主要研究方向:地理信息系统开发与应用。
E ma i:l hongquansong@126 co m收稿日期:2009 06 24基金项目:国家自然科学基金资助项目(40771166);高等学校博士学科点专项科研基金(20070475001)通讯作者:孔云峰教授E m a i:l y f kong@henu edu cnFlex框架下网络视频GIS设计与实现宋宏权 ,孔云峰( 河南大学环境与规划学院,河南开封475004; 河南大学中澳地理信息分析与应用研究所,河南开封475004) !摘要∀视频G IS支持地理视频数据的管理、发布和交互操作,应用于线形设施管理、地理教育等领域。
本文尝试在F lex框架下开发网络视频G IS。
基本思路是:使用A dobe F M S发布FLV格式的视频数据,使用A rcG IS Serve r9 3发布地理空间数据和视频轨迹,通过HTT P协议来获取XM L格式的地理视频语义描述,运用网络多媒体开发工具Adobe F lex整合视频、地图和语义描述数据,进而实现地理视频数据的分发、管理、查询检索、跟踪播放和交互索引等功能,并以具有良好用户体验的F l ash发布给用户。
软件开发实验表明本技术方案是可行的。
!关键词∀地理视频;网络视频G IS;地理空间信息可视化;A dobe F l ex!中图分类号∀P208!文献标识码∀A!文章编号∀1009 2307(2010)05 0208 041引言地理信息系统(G IS)专业应用日益广泛。
然而,由于地理世界的复杂性,常规地图对地理空间的描述往往过于简化和抽象,非专业人员难于通过地图理解现实世界,一定程度上限制了G IS的大众化应用。
今天主要说一下arcgis for flex api的开发,主要以demo为主,然后慢慢讲解:1.基本的地图添加,查看arcgis for flex api 你会发现map有好多属性的,其中一些属性是项目中比较常用的<esri:Map><esri:ArcGISTiledMapServiceLayerurl="/ArcGIS/rest/services/World_Street_Map/M apServer" /><esri:GraphicsLayer><esri:Graphic toolTip="Kilimanjaro - 5,895 metres (19,341 ft)"><esri:geometry><esri:MapPoint x="4144313" y="-346039"/></esri:geometry></esri:Graphic></esri:GraphicsLayer><esri:extent><esri:Extent xmin="-1892000" ymin="-4163000" xmax="5677294" ymax="4579425"/></esri:extent></esri:Map>2.添加对应的工具条NavigationTool基本的属性如下,这两个主要用来实现前后视图的:Property Defined ByisFirstExtent: BooleanNavigationTool [read-only] When "true", map is at the firstextent.isLastExtent: Boolean NavigationTool[read-only] When "true", map is at the lastextent.下面是基本方法:Public MethodsMethod Defined By NavigationTool(map:Map = null)NavigationTool Creates a new NavigationTool object.activate(navType:String,enableGraphicsLayerMouseEvents:Boolean = false):voidNavigationTool Activates a specific navigation type (pan, zoom in orzoom out).主来激活NavigationTooldeactivate():voidNavigationTool Deactivates the tool and reactivates default mapnavigation behavior.zoomToNextExtent():voidNavigationTool Zoom to next extent in extent history.zoomToPrevExtent():voidNavigationTool Zoom to previous extent in extent history.PAN: String = panNavigationTool[static] Map is panned.ZOOM_IN: String = zoominNavigationTool[static] Map zooms in.ZOOM_OUT: String = zoomout[static] Map zooms out.上面基本上就是地图的平移、缩放、前后视图、地图的初始化显示(全副显示)switch (tbb.selectedItem){case"Zoom In":{navTool.activate(NavigationTool.ZOOM_IN);break;}case"Zoom Out":{navTool.activate(NavigationTool.ZOOM_OUT);break;}case"Pan":{navTool.activate(NavigationTool.PAN);break;}default:{navTool.deactivate();break;}}上面代码实现了对应的缩放、平移,<s:Button click="navTool.zoomToPrevExtent()"enabled="{!navTool.isFirstExtent}"label="Previous Extent"/><s:Button click="navTool.zoomToNextExtent()"enabled="{!navTool.isLastExtent}"label="Next Extent"/>上面实现了前后视图<s:Button click="myMap.zoomToInitialExtent()" label="Initial Extent"/>地图的全副显示参考demo:demo_nav.mxml3.工具条的介绍DrawTool这个类主要是用来实现地图的绘制工作,基本上分为一下几种方式:Tool that supports functionality to create new geometries by drawing them: 点:points (MAPPOINT or MULTIPOINT),线:lines (LINE, POLYLINE, or FREEHAND_POLYLINE),面:polygons (FREEHAND_POLYGON or POLYGON),矩形:rectangles (EXTENT) and圆:circles (CIRCLE).然后涉及到的就是样式渲染,也是分为点、线、面的<!-- Symbol for all point shapes --><esri:SimpleMarkerSymbol id="sms"color="0x00FF00"size="12"style="square"/><!-- Symbol for all line shapes --><esri:SimpleLineSymbol id="sls"width="3"color="0x00FF00"/><!-- Symbol for all polygon shapes --><esri:SimpleFillSymbol id="sfs"color="0xFFFFFF"style="diagonalcross"><esri:outline><esri:SimpleLineSymbol width="2" color="0x00FF00"/> </esri:outline></esri:SimpleFillSymbol>根据esri提供的symbol样式进行对应的设置,然后对于绘制的进行填充其中 <esri:GraphicsLayer id="myGraphicsLayer"/> 属于GraphicsLayer主要用来进行graphic渲染的下面通过new的方式实现上面的代码,掌握基本的两种编写方式,项目中主要按照自己的方便来写:private var myGraphicsLayer:GraphicsLayer;private var myDrawTool:DrawTool;private function map_loadHandler(event:MapEvent):void{//初始化DrawTool工具里面的一切都是对象myDrawTool = new DrawTool();//创建工具条myGraphicsLayer = new GraphicsLayer();//创建渲染曾myMap.addLayer(myGraphicsLayer);//将图层添加到对应的map上面myDrawTool.map = myMap;myDrawTool.addEventListener(DrawEvent.DRAW_END,drawTool_drawEndHandler);//添加绘制结束之后的事件myDrawTool.graphicsLayer = myGraphicsLayer;myDrawTool.fillSymbol = sfs;//添加渲染myDrawTool.markerSymbol = sms;myDrawTool.lineSymbol = sls;}上面主要是指在地图加载完成之后通过new的方式创建对应的myGraphicsLayer和myDrawTool,然后根据api和自己需要设置对应的参数也可以通过下面的方式进行样式的创建,然后绘制完成之后进行样式的添加:drawTool.activate(DrawTool.CIRCLE);drawSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, 0x3FAFDC, 0.5, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, 0x3FAFDC, 1, 1));drawTool.fillSymbol = drawSymbol;3.利用geometry提供的类,实现对应的距离和面积测量面积和距离的测量主要是通过通过geometry服务进行实现的进行这个前提条件是,必须发布了geometry services服务,这个服务只能发布一次,主要就是用于上面的基本功能实现下面调用geometry对应的方法,实现相应功能:<esri:GeometryService id="geometryService"showBusyCursor="true"simplifyComplete="geometryService_simplifyCompleteHandler(event)"url="http://localhost:8399/arcgis/rest/services/Geometry/GeometryServer"/>上面主要设置了GeometryService服务的服务地址3.进行对应的空间查询和,属性查询的介绍,查询在esri中主要分为以下两种一个是点击属性查询,一个是空间操作查询,他们分别继承不同的类其实arcgis中的统计是没有专门的接口的,可以自己任意选择渲染方式,然后按照统计的结果进行渲染。
第35卷第5期2010年9月测绘科学Sc i ence o f Survey ing and M app i ngV o l 35N o 5Sep作者简介:宋宏权(1986 ),男,河南省民权县人,硕士研究生,主要研究方向:地理信息系统开发与应用。
E ma i:l hongquansong@126 co m收稿日期:2009 06 24基金项目:国家自然科学基金资助项目(40771166);高等学校博士学科点专项科研基金(20070475001)通讯作者:孔云峰教授E m a i:l y f kong@henu edu cnFlex框架下网络视频GIS设计与实现宋宏权 ,孔云峰( 河南大学环境与规划学院,河南开封475004; 河南大学中澳地理信息分析与应用研究所,河南开封475004) !摘要∀视频G IS支持地理视频数据的管理、发布和交互操作,应用于线形设施管理、地理教育等领域。
本文尝试在F lex框架下开发网络视频G IS。
基本思路是:使用A dobe F M S发布FLV格式的视频数据,使用A rcG IS Serve r9 3发布地理空间数据和视频轨迹,通过HTT P协议来获取XM L格式的地理视频语义描述,运用网络多媒体开发工具Adobe F lex整合视频、地图和语义描述数据,进而实现地理视频数据的分发、管理、查询检索、跟踪播放和交互索引等功能,并以具有良好用户体验的F l ash发布给用户。
软件开发实验表明本技术方案是可行的。
!关键词∀地理视频;网络视频G IS;地理空间信息可视化;A dobe F l ex!中图分类号∀P208!文献标识码∀A!文章编号∀1009 2307(2010)05 0208 041引言地理信息系统(G IS)专业应用日益广泛。
然而,由于地理世界的复杂性,常规地图对地理空间的描述往往过于简化和抽象,非专业人员难于通过地图理解现实世界,一定程度上限制了G IS的大众化应用。
多媒体G IS、三维G IS和虚拟地理环境等都试图弥补传统G IS的不足。
常规的多媒体G IS是将多媒体数据集成在G IS环境中,将多媒体数据当作地理实体的特殊属性,通过链接的方式显示多媒体信息。
近年来,学者进一步扩展了多媒体G IS的概念、技术和应用,提出了地理视频(G eoV i deo)和视频G IS等概念。
地理视频是将地理信息与视频片段有机结合,从而更直观地描述地理空间;通过视频G IS实现地理视频的采集、编辑、管理、播放、导航和应用开发。
近十年来,相关的学术研究取得了不少进展。
在基础理论方面,Be rry在2000年提出了视频地图系统框架[1],N avarrete建立了视频片段的地理索引,生成了地理超视频[2];Hw ang等提出M PEG 7位置相关服务[3]。
在数据采集方面,Lee提出了移动制图系统4S V an设计[4];郭浩等2008年设计了简易视频G IS数据采集系统[5];武汉大学李德仁院士领导的研究团队成功开发出移动道路测量系统,快速采集道路及两侧地物影像,并致力于可量测影像系统开发[6]。
相关的技术也被应用到铁路、隧道、公路和移动视频直播[7-10]。
这些研究为视频G IS的开发和应用奠定了基础。
随着网络地理信息服务概念、标准和产品的逐步成熟,以及网络视频发布技术的逐步普及,在网络环境中开发视频G IS不仅技术可行,而且具有广阔的应用潜力。
本文尝试基于技术领先的A dobe F l ex技术平台,利用M ashup技术聚合A rc G IS Server地理信息服务、FM S视频服务及HTT PXM L服务,开发网络视频G IS,实现地理视频数据的分发、管理、查询、跟踪播放和交互索引等基本功能;重点讨论网络视频G IS设计,并通过原型系统开发验证系统设计的可行性。
2视频GIS系统设计网络视频G IS设计与实现的基本思路是: 整理地理视频数据,获得多个视频片段和视频片段的地理位置描述和语义描述,视频地理位置用空间数据格式来描述,语义描述采用XM L格式; 使用视频转换软件,将地理视频片断转换为F lash FLV格式的视频文件,并在A dobe FM S中进行网络发布;#基于OGC WM S、W FS等网络地理数据服务规范发布地图数据,提供通用网络调用接口,本文使用A rcG IS Serve r9 3发布网络地图数据;∃在A dobe F lex框架下运用网络多媒体集成开发环境A dobe F lex Bu il der整合空间地图数据、FM S视频服务和XM L语义描述,在F lash文档中实现地理视频的查询检索、跟踪播放,并支持视频和地图之间的交互操作。
2 1系统总体设计系统总体架构如图1所示。
系统底层是以数据库为支图1系统总体结构撑的基础数据层,用于存储和管理地图、视频和相关地理视频语义描述数据。
中间层是数据服务层,通过A dobe FM S和网络HTT P协议分别提供视频流媒体数据服务和地理视频语义描述XM L服务,通过A rcG IS Server提供空间数据服务。
业务层实现对地理视频的基本操作,包括地图基本操作、视频查询和检索、地理视频播放、地图跟踪交互等。
表现层是面向用户的应用层,用户可以通过普通的浏览器(如I E)调用F l ash文档,实现视频G IS的网络操作。
2 2技术流程设计系统技术流程设计如图2所示: 在现实世界地理环第5期 宋宏权等 F l ex 框架下网络视频G IS 设计与实现境中同步采集地理视频数据,包括路线视频影像(AV I 、M PEG 、WM V 等格式)和GPS 轨迹数据(NM EA 、G PX 等格式); 把视频文件转换为FLV 格式,用文件目录进行管理;#把G PS 数据转换为规范的表格(如Dbase 或CV S 格式),在A rc G IS 中生成轨迹图层,存放在空间数据库模型G eoda tabase 中;∃设计XM L 文档,描述视频片段的视频语义描述,通过HTTP 协议对其发布;%通过A dobe F M S 发布FLV 格式视频数据,提供基于RTM P 协议的视频流媒体服务,采用A rcG IS Serve r 9 3发布地图空间数据;&在FLEX 开发框架下运用A rc G IS f o r F l ex A P I 对发布的视频服务、空间数据(包括视频路线空间时间映射、元数据等)服务和XM L 语义描述进行整合,从而实现视频地图的双向通讯、同步跟踪播放、交互索引等功能。
图2 系统技术流程设计3 视频GIS 原型系统开发以河南大学金明校区主干道同步采集的视频影像和G PS 数据为例,作者开发了网络视频G IS 系统,验证本文提出的视频G IS 设计的可行性。
3 1 数据采集与处理地理视频数据可以使用普通摄像机和GPS 接收机分别采集,通过两者的时间系统和时间差进行匹配;也可以同表1 视频轨迹点图层字段名类型描述OBJ ECT I D In teger 记录I D 号Shape LongB i n ary长二进制点对象Road_ID Text(25)视频编号Long i tude F l oat 经度Lati tude F l oat 纬度V i deo_T i m e Text(11)该点对应的视频时间步采集视频和G PS 点轨迹数据。
本文地理视频数据来源于前期项目成果[6],即四个AV I 格式的主干道景观视频和相应的G PS 点轨迹数据。
前期数据处理包括:将G PS数据转换为CS V 或Exce l 格式文件,在A rc M ap 中转化、编辑为Shape 格式点图层和视频轨迹线图层,并存储在空间数据库模型G eodatabase 中;对于视频文件,用视频转换软件转换为FLV 格式的F l ash 网络视频文件,存储在相应的F M S 视频目录中。
3 2 地理视频描述方式实现地理视频的关键在于对视频数据进行位置描述和语义描述。
本系统采用Shape 格式的地图图层描述视频轨迹。
视频帧时间及对应的空间位置通过点状图层表达(表1),随视频播放,获取当前视频帧的空间位置,用于视频导航。
线状轨迹图层(表2)用来描述视频拍摄轨迹,以及视频编号、名称、录制时间、数据资源UR L 、语义描述URL 等视频信息,可以通过图形和语义两种方式对视频和路线进行双向查询。
表2 视频轨迹线图层字段名类型描述OB J ECTID Integer 记录I D 号Shap e LongB i nary 长二进制线对象Road_I D T ext(25)视频编号V ideo_N a m e T ext(50)视频名称R ecord_Date T ext(50)录制日期S iz e Float 视频文件大小(字节)Du ration Float 持续时间(秒)V ideo_URL T ext(128)视频文件地址V ideo D esc_URL T ext(128)语义描述X M L 地址K eyPlaces T ext(128)关键地点M e m oT ext(1024)概述对于视频的语义描述是通过XM L 格式来描述的,发布后可以通过视频元数据图层中的V i deoD esc_URL 字段定位相应视频路线的语义描述,其格式采用支持W 3C 标准的TT XM L 格式,示意如下:<tt xm l ns="http ://www w 3 org /2006/10/tta f 1"x m :l lang="UTF -8"xm lns :tts="http ://www w3 org /2006/04/ttaf 1 sty le"><body> <d i v xm :l i d="cap tions"><Pbeg in="1"end="10">南苑路口</p> <Pbeg i n="8"end="20">前方建筑学院</p> ∋</div></body ></tt>其中标签p 中包含一个beg in 属性和一个end 属性,当视频播放时判断相应时间段的描述,进而实现地理视频语义描述的实时提示,下面内容将介绍如何实现。
3 3 系统集成方法本系统是在A dobe F lex Builde r P ro 3开发环境下,利用A c tionScript 3 0面向对象动作脚本语言并结合A rcG IS Serve r for F l ex AP I 开发实现的。