ArcGIS API for Silverlight开发入门
- 格式:pdf
- 大小:9.13 MB
- 文档页数:70
ArcgisAPIforsiliverlight设计与开发复习纲要《GIS设计与开发》复习纲要一、GIS相关开发技术1.1Desktop GIS、Mobile GIS与WebGIS开发技术Desktop GIS:(单机版)桌面地理信息系统可理解为是运行于较低硬件性能指标上的较为大众化、普及化的地理信息系统。
Mobile GIS:(移动GIS)是以移动互联网为支撑、以智能手机或平板电脑为终端、结合北斗、GPS或基站为定位手段的GIS系统。
WebGIS:(网络地理信息系统)指基于Internet平台,客户端应用软件采用网络协议,运用在Internet上的地理信息系统。
1.2ESRI系列的WebGIS开发技术1.2.1ArcGIS API 系列(API:客户端接口)ArcGIS API for Javascript、ArcGIS API for Flex、ArcGIS API for SiliverLight ArcGIS API for Silverlight通过REST接口访问ArcGIS Server发布的地图服务、影像服务、几何服务、地理处理服务、要素服务、网络服务等,还可以访问OGC标准的WMS、WFS、WCS等服务,也可以访问Bing地图服务。
1.2.2ArcGIS Server服务端Url:http://localhost/ArcGIS/rest/servicesMap Service:提供动态的,或经过缓存处理的2D地图服务。
Image Service:提供对栅格、影像数据的访问服务。
Globe Service:提供3D球体服务。
Geocode Service:提供地址与地理位置查询服务Geodata Service:提供对Geodatabase的访问、查询、更新和管理服务。
Geoprocessing Service:提供空间分析和地理处理服务。
Geometry Service:提供对几何图形的操作。
ArcGIS API for Silverlight地图保存为PDF和图片在使用ArcGIS API for Silverlight进行地图展示应用的时候,在客户端经常需要将地图保存为PDF或图片(png/jpg等)。
在做保存的时候实际上都是将地图写入到位图像素中,然后在保存为PDF或图片。
这样在Silverlight 的SDK中,提供了一个叫WritableBitmapImage的对象,使用该对象,可以很方便地把我们应用程序中的UIElement渲染到该位图对象上,并提供读取该对象所包含像素的接口。
一、保存为PDF文档在保存为PDF文档的时候需要第三方的类库文件“silverPDF”,silverPDF是Silverlight库,它使开发人员能够在客户端上创建PDF文件更加容易。
silverPDF 是基于两个开源的项目:PdfSharp()和iTextSharp()。
下载这个类库文件,然后加入到Silverlight项目工程的引用中,这样就可以使用“PdfSharp.Pdf”和“PdfSharp.Drawing”这两个命名空间,在VS项目中就可以使用,如下代码:PdfDocument document = new PdfDocument();PdfPage page = document.AddPage();XImage img = XImage.FromStream(_stream);if (img.PointWidth > img.PointHeight)page.Orientation = ndscape;elsepage.Orientation = PdfSharp.PageOrientation.Portrait;document.Pages[0].Width = XUnit.FromPoint(img.PointWidth);document.Pages[0].Height = XUnit.FromPoint(img.PointHeight);XGraphics gfx = XGraphics.FromPdfPage(page);gfx.DrawImage(img, 0, 0, img.PointWidth, img.PointHeight);document.Save(_streamOutPDF);document.Close();document = null;_stream.Close();_stream = null;_streamOutPDF = null;private void SaveMapToPDF_Click(object sender, RoutedEventArgs e){SaveFileDialog saveFileDialog = new SaveFileDialog();saveFileDialog.Filter = "PDF file format|*.pdf";saveFileDialog.DefaultExt = ".pdf";if (saveFileDialog.ShowDialog() == true){Stream pdfstream = saveFileDialog.OpenFile();try{PDFExporterControls.PDFExporter pdfExporter = newPDFExporterControls.PDFExporter();//pdfExporter.SetParent();pdfExporter.SetOutputStream(pdfstream);pdfExporter.SetMap(myMap);pdfExporter.DoExport();//MessageBox.Show(string.Format("PDF is exported and saved in: {0}", saveFileDialog.SafeFileName));}catch (Exception ex){MessageBox.Show(string.Format("Error creating PDF document: {0}", ex.Message));}}}通过silverPDF将地图保存为PDF文档,如下图:下载silverPdf类库文件:/以及源码文件:/Downloads.ashx二、保存为图片大致的使用过程如下:1、添加两个辅助类EditableImage和PngEncoder,详细见附件里的代码2、在截取事件里创建WritableBitmapImage,这里只需要把ArcGIS的Map控件对象传入即可,如果需要对生成的图片进行放大或平移,可以创建一个Transform对象,并传给构建方法的第二个参数。
Silverlight API学习笔记(一)上一篇/ 下一篇 2010-06-08 13:03:57 / 个人分类:ArcGIS Server查看( 439 ) / 评论( 4 ) / 评分( 0 / 0 )ArcGIS Silverlight API安装资源下载ArcGIS Silverlight API的帮助是在线的,访问的URL为:/en/webapi/silverlight/help/index.html关于如何搭建应用开发环境,可以参照左边的目录树中的Installation,其中包含各种开发资源的下载链接。
在系列教程的第一讲中,我先将本Help中提到的相关资源全部下载整理了一下,放在QQ空间的中转站中。
QQ帐号是:arcgiser@密码是:giser1234567,大家登录QQ邮箱后,直接在文件中转站中可以看到下载链接。
因为这个资源是开放给GISer方便学习用的,请不要随便更改QQ密码。
文件默认的存放时间为7天,如果有人看到即将过期,请帮忙续期一下。
(VS2010实在太大了,就不上传了,大家自己找下载地址吧)这个资源主要包含以下几个,简要介绍如下:(1)Expression Blend 4RC:Expression Blend,是一款用于设计桌面和Web应用用户界面的可视化工具,用户可以通过拖拉控件方式创建用户交互界面,即Expression Blend是一款Silverlight API编程的IDE。
Expression Blend 4RC是4.0 Release Candidate版本。
(2)Silverlight4_Tools如果您是在VS2010中进行ArcGIS Silverlight API开发的话,必须在安装完VS2010之后再安装Silverlight4_tools (/downloads/details.aspx?familyid=BF5AB940-C011-4BD1-AD98-DA 671E491009&displaylang=en)。
ArcGIS API for Microsoft Silverlight/WPF学习总结一、Layers的种类1、layer,指一个地图服务,相当于一个mxd文件,有ArcGISTiledMapServiceLayer,ArcGISDynamicMapServiceLayer,ArcGISImageServiceLayer三种类型,分别代表cached map service(已经生成地图缓存的map service)、non-cached map service(动态图层)和map imagery layer(影像图层)。
2、Sublayer,指代广义上的图层(lyr),相当于每个服务(mxd文件)中的一个图层二、Listbox结构1、设置ListBox的底色,边框,文字排版,位置等。
<Border Background>2、设置ListBox的名称,数据源(MyMap的layers),绑定MyMap的Layers。
<ListBox x:Name="MyList" ItemsSource="{Binding ElementName=MyMap,Path=Layers}">3、Listbox中的排版模式<StackPanel Orientation="Horizontal"> 排版方向,横向(即下面的checkbox,Slider,TextBlock横向排列)4、图层控件4.1 显示选择框<CheckBox IsChecked="{Binding Visible, Mode=TwoWay}" />4.2 透明度调节滑动器<Slider Margin="-5,0,0,0" Minimum="0" Maximum="1" Width="30"Value="{Binding Opacity, Mode=TwoWay}" Height="18" />4.3 图层名字显示<TextBlock Text="{Binding ID, Mode=OneWay}" Margin="5,0,0,0" >4.4 以CheckBox为例,解释绑定模式:<CheckBox IsChecked="{Binding Visible, Mode=TwoWay}" />绑定模式解释如下:5、设置Tooltip on hover,当鼠标放到layerlist上的图层名称上时,显示内容<ToolTipService.ToolTip>。