欢迎来到天天文库
浏览记录
ID:36283495
大小:817.65 KB
页数:10页
时间:2019-05-08
《水经注离线谷歌卫星地图加载服务中间件调用示例forwpf》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、水经注离线谷歌卫星地图加载服务中间件调用示例ForWPF1.说明水经注离线谷歌卫星地图加载服务中间件可利用离线地图的.dat文件在本地建立服务端,并生成影像、标签、高程等服务地址,可以在WPF中直接调用该服务地址,并将请求到的服务资源显示在前端,当请求的地图资源不存在可通过网络直接下载缺失的地图,并储存在.dat文件中。2.实现2.1WPF项目建立新建WPF项目“RiverMapServerSampleForWPF”,如下图。在引用中添加arcgis的com组件“ESRI.ArcGIS.Client”,如下图。
2、新建一个离线图层类“OfflineGoogleMapLayer”,部分源码如下。classOfflineGoogleMapLayer:TiledMapServiceLayer{privateconstdoublehalfCircle=20037508.342787;publicoverridevoidInitialize(){TileInfo=newTileInfo();TileInfo.Width=256;TileInfo.Height=256;TileInfo.Origin=newMapPoint(-hal
3、fCircle,halfCircle);TileInfo.SpatialReference=newSpatialReference(102113);//102100TileInfo.Lods=newLod[19];doubleresolution=halfCircle*2/256;base.MaximumResolution=resolution;for(inti=0;i4、Resolution=resolution;resolution/=2.0;}base.MinimumResolution=resolution*2.0;base.SpatialReference=newSpatialReference(102113);base.FullExtent=newEnvelope(-halfCircle,-halfCircle,halfCircle,halfCircle);base.Initialize();}publicoverridestringGetTileUrl(intlev5、el,introw,intcol){stringbaseUrl="http://127.0.0.1:1002/getDefinedImage?";intx=col+1;inty=row+1;intl=level+1;stringurl=baseUrl+"x="+x+"&y="+y+"&z="+l;returnurl;}其中【baseURL=”http://localhost:1002/getDefinedImage?”】表示请求的是影像、地图、地形、标签、影像+标签、影像+地图、影像+地形或Dem。具体根据Ri6、verMapServer的启动配置参数来确定。例如:RiverMapServer.exe“1002”“Image_Label”“c:testtile”“c:testlabel”表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片。RiverMapServer.exe“1002”“Image”“c:testtile”表示此应用输出地图底图(可以为影像、地图、地形任意一种)在主界面“MainWindow.xaml.cs”中添加刚刚新建的离线图层“OfflineGoogleMapLa7、yer”,如下图所示。2.2启动RiverMapServer启动RiverMapServer有两种方式都可以正常运行。2.2.1直接运行RiverMapServer通过config.ini文件配置参数,如下图。PORT=1002表示端口为1002;GetFileType=Image_Label表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录;TileDir=..dattile表示影像数据路径;LabelDir=..datlabel表示标签数据路径8、;DemDir=..datdem表示高程数据路径。RiverMapServer启动窗口,如下图。2.2.2通过cmd.exe输入启动参数运行新建一个bat文件,设置配置参数,如下图。双击.bat启动服务。运行效果和直接运行RiverMapServer效果一致。3.运行结果运行RiverMapServerSampleForWPF效果,如下图。附录:启动参数说明1.瓦片文件类型:Ima
4、Resolution=resolution;resolution/=2.0;}base.MinimumResolution=resolution*2.0;base.SpatialReference=newSpatialReference(102113);base.FullExtent=newEnvelope(-halfCircle,-halfCircle,halfCircle,halfCircle);base.Initialize();}publicoverridestringGetTileUrl(intlev
5、el,introw,intcol){stringbaseUrl="http://127.0.0.1:1002/getDefinedImage?";intx=col+1;inty=row+1;intl=level+1;stringurl=baseUrl+"x="+x+"&y="+y+"&z="+l;returnurl;}其中【baseURL=”http://localhost:1002/getDefinedImage?”】表示请求的是影像、地图、地形、标签、影像+标签、影像+地图、影像+地形或Dem。具体根据Ri
6、verMapServer的启动配置参数来确定。例如:RiverMapServer.exe“1002”“Image_Label”“c:testtile”“c:testlabel”表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片。RiverMapServer.exe“1002”“Image”“c:testtile”表示此应用输出地图底图(可以为影像、地图、地形任意一种)在主界面“MainWindow.xaml.cs”中添加刚刚新建的离线图层“OfflineGoogleMapLa
7、yer”,如下图所示。2.2启动RiverMapServer启动RiverMapServer有两种方式都可以正常运行。2.2.1直接运行RiverMapServer通过config.ini文件配置参数,如下图。PORT=1002表示端口为1002;GetFileType=Image_Label表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录;TileDir=..dattile表示影像数据路径;LabelDir=..datlabel表示标签数据路径
8、;DemDir=..datdem表示高程数据路径。RiverMapServer启动窗口,如下图。2.2.2通过cmd.exe输入启动参数运行新建一个bat文件,设置配置参数,如下图。双击.bat启动服务。运行效果和直接运行RiverMapServer效果一致。3.运行结果运行RiverMapServerSampleForWPF效果,如下图。附录:启动参数说明1.瓦片文件类型:Ima
此文档下载收益归作者所有