当前位置: 首页 > 计划总结 > 工作总结

基于flex天地图技术总结

时间:2017-10-11 工作总结 我要投稿

  本页是网络最新发布的《基于flex天地图技术总结》的详细范文参考文章,感觉写的不错,希望对您有帮助,这里给大家转摘到网络。 公文汇 www.gongwenhui.com

篇一:ArcGIS Flex API 调用天地图和Google地图服务

公文汇,办公文档之家

ArcGIS Flex API 调用天地图和Google地图服务 公文汇 www.gongwenhui.com

Esri为我们提供了TiledMapServiceLayer类,这个类正是所有瓦片地图服务都必须继承的类,像ArcGISTiledMapServiceLayer,OpenStreetMapLayer,VETiledLayer等esri提供的瓦片类都是继承了该类的,所以我们要扩展该TiledMapServiceLayer类 公文汇,办公文档之家

一.调用天地图服务(SXGeoTileLayer类) 公文汇 www.gongwenhui.com

[plain]

1.import com.esri.ags.SpatialReference;

2.import com.esri.ags.geometry.Extent;

3.import com.esri.ags.geometry.MapPoint;

4.import com.esri.ags.layers.supportClasses.LOD;

5.import com.esri.ags.layers.supportClasses.TileInfo;

6.import com.esri.ags.layers.TiledMapServiceLayer;

7.import com.esri.ags.layers.TiledMapServiceLayer;

8.

9.import flash.geom.Point;

10.import flash.net.URLRequest;

11.

12./**

13.* SXGeoTileLayer

14.*/

15.public class SXGeoTileLayer extends TiledMapServiceLayer

16.{

17.//--------------------------------------------------------------------------

18.//

19.// Constructor

20.//

21.//--------------------------------------------------------------------------

22.

23./**

24.* Creates a new PortlandTiledMapServiceLayer object.

25.*/

26.public function SXGeoTileLayer()

27.{

28.super();

29.

30.buildTileInfo();// to create our hardcoded tileInfo

31.

32.setLoaded(true);// Map will only use loaded layers

33.}

34.

35.//--------------------------------------------------------------------------

36.//

37.// Variables

38.//

39.//--------------------------------------------------------------------------

40.

41.private var wkid:int = 4326;

42.private var _tileInfo:TileInfo = new TileInfo();// see buildTileInfo()

43.private var _url:String = new String();

44.//private var _wmsLayer:String = new String();

45.

46.//--------------------------------------------------------------------------

47.//

48.// Overridden properties

49.//fullExtent()

50.//initialExtent()

51.//spatialReference()

52.//tileInfo()

53.//units()

54.//

55.//--------------------------------------------------------------------------

56.

57.

58.//----------------------------------

59.// fullExtent

60.// - required to calculate the tiles to use

61.//----------------------------------

62.

63.override public function get fullExtent():Extent

64.{

65.return new Extent(-180,-90,180,90,new SpatialReference(4326));

66.//return new Extent(65.94,18.84,137.74,62.85,new SpatialReference(4326));

67.}

68.

69.//----------------------------------

70.// initialExtent

71.// - needed if Map doesn't have an extent

72.//----------------------------------

73.

74.override public function get initialExtent():Extent

75.{

76.return new Extent(-124.731422,24.955967,-66.969849,49.371735,new SpatialReferenc

e(4326));

77.//return new Extent(112.48,47.77,112.60,47.97,new SpatialReference(4326));

78.}

79.

80.//----------------------------------

81.// spatialReference

82.// - needed if Map doesn't have a spatialReference

83.//----------------------------------

84.

85.override public function get spatialReference():SpatialReference

86.{

87.return new SpatialReference(4326);

88.}

89.

90.//----------------------------------

91.// tileInfo

92.//----------------------------------

93.

94.override public function get tileInfo():TileInfo

95.{

96.return _tileInfo;

97.}

98.

99.//----------------------------------

100.// units

101.// - needed if Map doesn't have it set

102.//----------------------------------

103.

104.override public function get units():String

105.{

106.return "esriDecimalDegrees";

107.}

108.

109.//--------------------------------------------------------------------------

110.//

111.// Overridden methods

112.//getTileURL(level:Number,row:Number,col:Number):URLRequest

113.//

114.//--------------------------------------------------------------------------

115.

116.override protected function getTileURL(level:Number,row:Number,col:Number):URLR

equest

117.{

118.var url:String;

119.url = _url + "&X="+ col.toString() + "&Y="+ row.toString()+ "&L="+ level.toString();120.return new URLRequest(url);

121.}

122.

123.//--------------------------------------------------------------------------

125.// Private Methods

126.//

127.//--------------------------------------------------------------------------

128.

129.private function buildTileInfo():void

130.{

131._tileInfo.height = 256;

132._tileInfo.width = 256;

133._tileInfo.origin = new MapPoint(-180,90);

134._tileInfo.spatialReference = new SpatialReference(4326);

135._tileInfo.lods = [

136.//new LOD(0,1.40625,590995197.1416691),

137.new LOD(1,0.703125,295497598.5708346),

138.new LOD(2,0.3515625,147748799.2854173),

139.new LOD(3,0.17578125,73874399.64270864),

140.new LOD(4,0.087890625,36937199.82135432),

141.new LOD(5,0.0439453125,18468599.91067716),

142.new LOD(6,0.02197265625,9234299.95533858),

143.

144.new LOD(7,0.010986328125,4617149.97766929),

145.new LOD(8,0.0054931640625,2308574.98883465),

146.new LOD(9,0.00274658203124999,1154287.49441732),

147.new LOD(10,0.001373291015625,577143.747208662),

148.new LOD(11,0.0006866455078125,288571.873604331),

149.new LOD(12,0.000343322753906249,144285.936802165),

150.new LOD(13,0.000171661376953125,72142.9684010827),

151.new LOD(14,0.0000858306884765626,36071.4842005414),

152.new LOD(15,0.0000429153442382813,18035.7421002707),

153.new LOD(16,0.0000214576721191406,9017.87105013534),

154.];

155.}

156.

157.private function padString(text:String,size:int,ch:String):String

158.{

159.while (text.length

160.{

161.text = ch + text;

162.}

163.return text;

164.}

165.public function set url(val:String):void

166.{

167.this._url = val;

169.}

使用方法:

[plain]

1.var wmslayer:SXGeoTileLayer=new SXGeoTileLayer();

2.wmslayer.url="http://tile0.tianditu.com/DataServer?T=A0610_ImgAnno";

3.map.addLayer(wmslayer);

二.调用Google地图服务

[plain]

1.import com.esri.ags.SpatialReference;

2.import com.esri.ags.geometry.Extent;

3.import com.esri.ags.geometry.MapPoint;

4.import com.esri.ags.layers.TiledMapServiceLayer;

5.import com.esri.ags.layers.supportClasses.*;

6.

7.import flash.net.URLRequest;

8.

9.//扩展TiledMapServiceLayer图层实现加载google地图

10.public class GoogleMapLayer extends TiledMapServiceLayer

11.{

12.private var _tileInfo:TileInfo=new TileInfo();

13.private var _baseURL:String="";

14.

15.public function GoogleMapLayer()

16.{

17.super();

18.buildTileInfo();

19.setLoaded(true);

20.}

21.

22.override public function get fullExtent():Extent

23.{

24.return new Extent(-20037508.342787,-20037508.342787,20037508.342787,2003

7508.342787,new SpatialReference(102113));

25.}

26.

27.override public function get initialExtent():Extent

28.{

29.return new Extent(-20037508.342787,-20037508.342787,20037508.342787,2003

7508.342787,new SpatialReference(102113));

30.}

31.

32.override public function get spatialReference():SpatialReference

篇二:服务器产品与天地图的对接技术-张雅卿

超图服务器产品与天地图的对接技术

一、前言

伴随着IT技术的高速发展,GIS技术也日趋成熟,从组件GIS技术、服务式GIS技术、时至今日的云GIS技术,GIS产业也在悄然发生变化,传统的数据厂商纷纷推出自己的在线地图服务,作为国家测绘数据权威部门地理信息局也推出了天地图,这意味传统数据服务,也由传统的拷贝式服务,转向在线服务,这标志数据即服务(DaaS)不再仅仅是一个概念。思想汇报专题数据来源丰富解决了GIS应用的后顾之忧,支持多源在线地图数据服务也将是GIS平台发展的一个重要方向。

二、天地图简介 “天地图”是“数字中国”的重要组成部分,2012年2月,资源三号测绘卫星为天地图提供了第一幅国外影像数据。“天地图”提供矢量地图、遥感影像瓦片服务,还有地名和全球行政区划查询服务以及接入“天地图的”省市节点服务。

目前国家主干节点提供:全球1:100万矢量、250米影像;全国1:25万矢量、导航数据、15米影像、2.5米影像。其中省节点覆盖了1:1万,1:5千的比例尺的地图,市节点覆盖了1:2千和1:500比例尺的地图;用户可以根据需要选择省市节点地图服务,以获取更高精度的地图数据服务。

天地图数据模型

这里需要特别指出的是天地图的数据服务是基于地理坐标系WGS84来进行全球剖分的,和Google、Bing Map、BaiDu地图采用的投影坐标系Web Mercator有所不同,意味着天地图数据资源可以很好的GIS平台提供的数据进行很好的融合,实现很多复杂的应用:应急、物流、监控、金融等领域应用。

三、超图对接天地图技术

超图服务器产品对接天地图示意图

根据天地图提供的数据服务类型,范文TOP100对接的方式如上图所示,主要分为两大类:

(一)首先是使用天地图提供的数据服务,主要是为浏览器、智能终端以及桌面软件等“端”应用服务。

模式一:客户端产品对接天地图服务

客户端产品对接效果图

目前SuperMap iClient产品线全部支持天地图数据服务接入(产品附带的Example中有详细的介绍如何使用),其中Flex mobile接入方式支持Android、iOS以及Blackberry平台,和浏览器应用客户端相比还支持离线缓存模式。这种对接模式优势在于,不需要对现有的业务逻辑做任何修改,只是在客户端把天地图这类网络数据源作为底图使用(mushup),当然也非常适合那些初期经费比较少的项目,这样简单的叠加业务相关数据即可实现GIS应用,目前还直接支持数据源有超图云平台、Bing Map、Google Map等网络地图服务。

模式二:服务器端对接天地图(数据源方式)

SuperMap iServer 数据源对接模式

SuperMap iServer 6R(2012)支持将天地图的地图服务作为数据源,范文写作并支持发布为REST-地图服务、WMS1.1.1服务、WMS1.3.0服务、WMTS1.0.0服务。客户端产品可以通过标准的地图访问接口访问天地图提供的数据服务。除了瓦片地图数据服务外,天地图还提供查询服务,通过服务聚合可以把天地图的搜索服务很方便的整合到现有的业务系统中,实现对天地图数据的透明访问,开发者和用户根本不需要关心数据的来源,只需要考虑如何使用数据。

SuperMap iServer 服务聚合对接模式

解决了“如何重用 GIS 数据,如何重用 GIS 功能”,便于企业级 GIS 应用实现业务敏捷,使业务信息流通通畅、业务流程重组优化、资源合理配置。地理信息服务聚合最终的结果仍旧是服务,聚合后生成的新服务仍然可以作为日后业务变更重组的提供者,为企业级 GIS 应用的业务敏捷提供了无限扩展的可能。(二)其次为天地图提供数据服务,目前天地图主要采用的服务标准为OGC

服务,其中

最重要的是瓦片数据服务WMTS,针对天地图的实际需要和实测,服务器产品提供的专用服务接口wmts-china,用户可以简单通过该接口把任何做好的地图数据和天地图进行对接为天地图提供数据服务。

SuperMap iServer 为天地图提供瓦片数据配置示意图

以下为资源卫星三号对接效果图

资三立体测图产品显示效果图

四、总结

超图平台软件对接天地图服务方式很多,用户需要针对应用具体分析以确定使用哪一种解决方案,随着GIS共享平台建设深入到各行各业,可以预期随着在线地图数据来源愈来愈丰富,最全面的范文参考写作网站服务器端服务聚合或数据源对接模式将会成为主要的技术应用方向,也只有这种模式才会使得才会使得多源数据整合变得简单易用,丰富的数据资源使得用户可以把更多的资源投入到GIS业务功能建设中来,而灵活的对接方式将为GIS应用插上飞翔的翅。

篇三:Flex技术报告

Flex + java + BlazeDS技术说明

北京金逸润丰信息技术有限责任公司

2011年9月

版本控制

更新记录

审核记录

发布记录

目录

1 前言....................................................................4 2 Flex简介...............................................................4

2.1 Flex概述.........................................................4 2.2 从不同角度看Flex................................................6

2.2.1 技术角度...................................................6 2.2.2 开发者角度.................................................6 2.2.3 企业角度...................................................6 2.2.4 用户角度...................................................7 2.2.5 缺点与应对策略.............................................7

3 BlazeDS简介...........................................................8

3.1 Messaging Services..............................................9 3.2 Service adapter.................................................9 3.3 Channels and endpoints..........................................9 3.4 Channel types....................................................9 4 Flex/BlazeDs选择理由................................................10

4.1 开源.............................................................10 4.2 完善的社区支持..................................................10 4.3 带来广阔的就业前景.............................................10 4.4 更高的业务效益回报.............................................10 4.5 Flex是第一个专门为创建UI而设计的语言.......................10 4.6 编程风格近似于Java............................................11 4.7 BlazeDS可以在任何Java应用服务器上运行......................11 4.8 可以在已有Java应用中运用.....................................11 4.9 可以通过Java来扩展和修改BlazeDS.............................11 4.10 HTML和JSP也能调用BlazeDS....................................12 4.11 Flex和BlazeDS的数据传输性能远胜于其它Ajax解决方案.......12 4.12 Java客户端能够直接调用BlazeDS...............................12 4.13 Spring下也能用.................................................13 4.14 结论...........................................................13

Flex + java + BlazeDS技术说明 1 前言

传统Web应用的开发是基于B/S模式的,Web应用的表示层建立于HTML页面之上,网络而HTML只适合于文本,B/S模式的应用已经不能满足用户对更高的、全方位的用户体验(音频、视频等)的要求。C/S模式的应用又不能满足现代用户在数据共享、协同操作等方面的要求。在如今这个以用户为中心的时代,用户体验越来越重要,用户不仅要求应用要像C/S模式的应用那样具有良好的交互性,而且要求应用要像B/S模式的应用那样具有部署灵活和跨平台的优势。RIA技术便是在这种需求下应运而生的,它同时具备B/S模式和C/S模式应用的双重优势,很好地满足了现代用户的需求。

对于企业应用而言,企业可以通过RIA技术继续使用现有的应用程序模型(包括J2EE 和.NET),轻松构建更为直观、更易于使用、更迅速而且可以脱机使用的应用程序,无需大规模替换现有的Web应用。同时,RIA还可以帮助企业提供多元化的业务效益,包括提高产品销量、提高品牌忠诚度、延长用户在网站的停留时间、避免较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系等。

近年来,RIA一直是业界巨头竞相角逐的重点领域,因为业界一直流传着这样一句话:“拥抱RIA,拥抱软件开发的未来!”Adobe的Flex在RIA领域有先发优势,而且至今仍然是这个领域的领头羊和佼佼者。Flex出现以后,B/S企业应用在人机交互方面开始发生革命性变化。很多B/S系统开发者第一次接触Flex时就被它强大的UI渲染能力所震撼,使用Flex开发的B/S企业应用在人机交互方面的能力远远强于传统的C/S技术,很难想象在浏览器中也能够开发出如此酷炫的应用。

使用Flex开发B/S应用的效率远远高于传统的JSP、ASP等技术,甚至高于Delphi、VB等传统的快速开发工具。这是因为Flex提供了更加简洁的组件开发机制,使我们能够快速构建新的组件,同时其强大的数据绑定功能也免去了编写大量赋值语句的工作。

大家都知道,Java以开发稳定的、可跨平台的企业应用而著称。如果能够利用Flex开发易用性好、交互性强、外观炫丽的人机界面,使用Java开发稳定且可跨平台部署的业务逻辑,那将是多么美妙的一件事啊!令人振奋的是,Flex确实可以与Java完美地结合!快速开发出稳定的、易用的、用户体验良好的B/S应用将不再是梦想。

如今,Flex+Java这一技术组合正在逐渐被业界所接受,在很多行业的大型企业应用(比如SAP、淘宝、中国移动等)中都能看到它们的身影。与很多Flex技术的忠实用户一样,我们坚信Flex+Java技术必定会成为开发企业应用的主流技术之一。

我们的团队使用Flex+Java技术组合成功地开发了合众人寿投资管理系统系统一期和泰康资产划款指令系统与泰康资产基金申购单管理系统,并这三个企业上线运行,实实在在地感受到了这一组合的威力和给用户带来的震撼体验。

2 Flex简介

2.1 Flex概述

Flex是排版打印软件和图形渲染软件巨头Adobe公司在其著名的Flash平台(Flash Player)上,用ActionScript语言开发的一套RIA软件开发套件(SDK)及其集成开发环境。

Flex SDK由Flex框架类库、Flex编译器、调试器、MXML和ActionScript编程语言以及其他工具组成。Flash Builder则是其集成开发环境,Flash Builder构建在开源集成开发环境Ecl

ipse之上,目前版本是Flash Builder 4。利用Flash Builder,开发者可以通过拖拽的方式开发人机界面,用ActionScript 3语言编写代码,调用Flash及Flex SDK所提供的API进行RIA开发,然后用FlashBuilder编译器进行编译,编译后的产品可以运行在Flash虚拟机中,同时Flash Builder集成了调试工具和性能查看工具,可以跟踪ActionScript代码的执行和观察内存变化。从开发出的产品层面来看,经过编译后的Flex应用和组件库是一系列可以运行在Flash虚拟机中的SWF文件。SWF文件由一系列有顺序的“帧”(Frame)构成,“帧”中包含编译后的ActionScript字节码以及所需的数据,比如图像、声音和视频。Flash Player按照“帧”的先后顺序,“试图”以固定的频率执行每一帧中的代码,以显示图形或者播放动画及语音。注意 在本书中,读者会经常看到Flash虚拟机和Flash Player这两个词,实际上Flash Palyer就是Flash虚拟机,ActionScript代码在Flash Player这个虚拟机中运行,以执行客户端逻辑、显示图形、播放动画、声音和视频。

RIA简单的说,就是C/S+B/S的开发部署模式。C/S和B/S大家都很熟悉,C/S的优点在于借助局域网的信息安全和带宽优势,充分利用客户机器的运算能力从而降低服务器压力,缺点就是安装部署更新麻烦。

那么在1998年,互联网风起云涌的时候,B/S逢时而生。B/S充分利用互联网的优势,解决C/S安装部署更新的一大难题。通过把业务逻辑处理放在服务器端,然后解析为HTML,利用HTTP协议传输到客户的浏览器上就万事大吉。看起来很美,其实干过就知道也很痛苦。哪儿痛呢,痛的当然是我们这些开发者。安装部署更新倒是省事儿了,装个IE,给个网址就能让客户登录了。但是,基于HTML+JavaScript的技术让人很崩溃。B/S还有一些潜在的缺点。比如,客户端体验简单,不易开发丰富的效果来展示数据(这和当时的网络带宽也有关系);必须联网才能运行,信息安全无法保障;应用程序需要通过其他技术辅助才能操作客户端资源;服务器负载过高而客户机运算能力未充分使用等。

综合来讲,B/S仍然是一个不错的解决方案,它的Web应用程序和C/S的桌面应用程序曾一度二分天下,各领风骚数十年。从解耦角度来看,C/S以数据库的方式把数据从程序中分离,B/S以浏览器页面的方式把界面和逻辑再次分离,然而第二次分离是不彻底的。表面上只是代码结构的分离,从实质上看表现层仍然是逻辑层的附庸,前台UI完全和后台实现技术绑死(把已有项目后台从C#换成JAVA是不可能的。。。)为了解决这个问题,RIA出现基本实现了不依赖于特定后台技术,能与多种服务端搭配使用。

在2002年,MacroMedia公司(简称MM,05年被Adobe收购)首先在Flash Player6中引入了RIA概念。2004年,MM正式发布Flex1.0,随着Ajax的火爆,RIA开始受到广泛关注。RIA主要有两个方面的含义,一是用户界面的丰富即富客户端,二是数据模型的智能,服务器已经变成了支持客户端正常运行的数据服务,并提供了异步数据传输和脱机缓存机制等复杂的数据处理能力。前面提到,RIA本质上就是C/S+B/S,它想集大成,想搞总结,想终结C/S和B/S二分天下的局面。说浅显点就是,如果以前的CS程序现在能在网络上运行,并且保持了原来的功能和特征,那么这就是一个RIA。回到当下,RIA各种技术一番拼杀,现在广为人知的只剩下四个:Ajax、Flex、SilverLight、JavaFx。

AJAX,Flash,Silverlight,JavaFX到底选谁?

事实上,像Adobe's Flex,Microsoft's Silverlight,以及Sun 最近发布的JavaFX这样的计算技术,使得向量图形实质上优于AJAX提供的Dojo或者Yahoo图形实验室(YUI)这种构

  以上就是这篇范文的详细内容,主要描述服务、数据、天地、地图、提供、对接、应用、技术,看完如果觉得有用请记得(CTRL+D)收藏。

手机移动版
基于flex天地图技术总结
热门技术工作总结范文推荐:

★现代通信技术总结

★电力客户服务组技术总结

★【测绘内业工作总结】温州市省级发证矿业权实地核查测

★【2015宁强李倩文】2015年度宁强县黑木林铁矿有限公司

★云计算关键技术总结

★【2015年度总结报告】总结报告2015.,5.15

内容仅供学习,如需复制请赞助VIP会员,赞助后即可全站范文免费复制!


赞助会员请点击:开通会员

×