设为首页收藏本站--- 驰名中外的国际土木工程技术交流平台!

东南西北人

 找回密码
 注册

QQ登录

只需一步,快速开始

总共8822条微博

动态微博

本站帖子精华之精华汇总 Best of the Best英语口语、听力、翻译、考试学习经验交流与探讨1000多土木工程类行业软件、计算表格和计算工具免费下载东南西北人网站QQ精英群 QQ189615688
中国土木工程师手册(上中下)东南西北人英文资料走马观花500多专业手册、工程手册100多个专业词典大汇总
如何获取积分和金币?精彩施工和土木工程技术视频东南西北人英汉对照资料汇总各版块精彩讨论贴汇总!
查看: 1797|回复: 5

离线谷歌卫星地图加载服务中间件调用示例 For WPF

[复制链接]
鲜花(0) 鸡蛋(0)
K8MWW 发表于 2016-1-4 16:35:46 | 显示全部楼层 |阅读模式
本帖最后由 三T上人 于 2016-7-22 17:16 编辑 <br /><br />1.说明

详情请咨询水经注
QQ群 329081749
2.实现
2.1 WPF项目建立
新建WPF项目“RiverMapServerSample For WPF”,如下图。

在引用中添加arcgis的com组件“ESRI.ArcGIS.Client”,如下图。

新建一个离线图层类“OfflineGoogleMapLayer”,部分源码如下。
class OfflineGoogleMapLayer : TiledMapServiceLayer
    {
        private const double halfCircle = 20037508.342787;
        public override void Initialize()
        {
            TileInfo = new TileInfo();
            TileInfo.Width = 256;
            TileInfo.Height = 256;
            TileInfo.Origin = new MapPoint(-halfCircle, halfCircle);
            TileInfo.SpatialReference = new SpatialReference(102113);//102100
            TileInfo.Lods = new Lod[19];
            double resolution = halfCircle * 2 / 256;
            base.MaximumResolution = resolution;
            for (int i = 0; i < TileInfo.Lods.Count(); i++)
            {
                TileInfo.Lods = new Lod();
                TileInfo.Lods.Resolution = resolution;
                resolution /= 2.0;
            }
            base.MinimumResolution = resolution * 2.0;
            base.SpatialReference = new SpatialReference(102113);
            base.FullExtent = new Envelope(-halfCircle, -halfCircle, halfCircle, halfCircle);
            base.Initialize();
        }
        public override string GetTileUrl(int level, int row, int col)
        {
            string baseUrl = "http://127.0.0.1:1002/getDefinedImage?";
            int x = col + 1;
            int y = row + 1;
            int l = level + 1;
        }
其中【baseURL=”http://localhost:1002/getDefinedImage?”】表示请求的是影像、地图、地形、标签、影像+标签、影像+地图、影像+地形或Dem。具体根据RiverMapServer的启动配置参数来确定。
例如:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片。RiverMapServer.exe “1002” “Image” “c:\test\tile”  表示此应用输出地图底图(可以为影像、地图、地形任意一种
在主界面“MainWindow.xaml.cs”中添加刚刚新建的离线图层“OfflineGoogleMapLayer”,如下图所示。
2.2启动RiverMapServer
启动RiverMapServer有两种方式都可以正常运行。

2.2.1 直接运行RiverMapServer

通过config.ini文件配置参数,如下图。
PORT=1002  表示端口为1002;GetFileType=Image_Label表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录;TileDir=..\dat\tile表示影像数据路径;LabelDir=..\dat\label 表示标签数据路径;DemDir=..\dat\dem 表示高程数据路径。
RiverMapServer启动窗口,如下图。
2.2.2 通过cmd.exe输入启动参数运行

新建一个bat文件,设置配置参数,如下图。


双击.bat启动服 务。运行效果和直接运行RiverMapServer效果一致。
3.运行结果
运行RiverMapServerSample For WPF效果,如下图。
附录:
启动参数说明
1.瓦片文件类型:Image_Lable 表示此应用输出合并底图(可以为影像、地图、地形任意一种)和标签两个地图瓦片,后面必须跟两个瓦片工程文件目录
例子:RiverMapServer.exe “1002” “Image_Label” “c:\test\tile” “c:\test\label”
2.瓦片文件类型:Image 表示此应用输出地图底图(可以为影像、地图、地形任意一种
后面必须只需一个瓦片工程文件目录
例子:RiverMapServer.exe “1002” “Image” “c:\test\tile”
3.瓦片文件类型:Label表示此应用输出地图标签 后面必须只需一个瓦片工程文件目录
例子:RiverMapServer.exe “1002” “Label” “c:\test\label”
4.(待)瓦片文件类型:dem表示此应用输出地图位置高程 后面必须只需一个地图位置高程工程文件目录
例子:RiverMapServer.exe “1002” “dem” “c:\test\dem”
输入参数大小写不敏感,启动时需检查瓦片文件类型与工程文件是否匹配
请求接口说明
根据启动参数输出相应类型图片(影像、地图、地形、标签、影像+标签、影像+地图、影像+地形、Dem
输出地图底图(影像、地图、地形任意一种)
输出标签
输出高程
删除地图地图(影像、地图、地形任意一种)
地图服务启动日志输出


WPF.jpg
2 .服务正常启动与运行输出:
@@RUN:WAITING 正常启动后和服务空闲时每分钟输出
@@RUN:Exception:异常消息(不能有回车换上等控制字符)服务启动异常后输出
服务正常启动后建立与瓦片工程文件数据源的连接
@@DSCOK:瓦片工程文件 连接正常
@@DSCFAIL:瓦片工程文件 连接失败
@@PORT:端口
3 .瓦片输出
@@TileOK:X=1&y=1&z=1 底图瓦片下载成功(已下载正常输出瓦片不输出日志)
@@LabelOK:X=1&y=1&z=1 标签瓦片下载成功(已下载正常输出瓦片不输出日志)
@@TileNoExists:X=1&y=1&z=1 底图瓦片不存在
@@LabelNoExists:X=1&y=1&z=1 标签瓦片不存在
@@TileOverRange:X=1&y=1&z=1 底图瓦片超出工程文件覆盖范围
@@LabelOverRange:X=1&y=1&z=1 标签瓦片超出工程文件覆盖范围

SOSO.CC
鲜花(15) 鸡蛋(0)
xxm564 发表于 2016-1-4 20:55:19 | 显示全部楼层
本帖最后由 三T上人 于 2016-7-22 17:16 编辑 <br /><br />了解了解~~~~

SOSO.CC
鲜花(54) 鸡蛋(0)
Pgain 发表于 2016-1-5 00:00:55 | 显示全部楼层
本帖最后由 三T上人 于 2016-7-22 17:16 编辑 <br /><br />没有国产北斗的?

SOSO.CC
鲜花(0) 鸡蛋(0)
 楼主| K8MWW 发表于 2016-1-8 17:36:33 | 显示全部楼层
本帖最后由 三T上人 于 2016-7-22 17:16 编辑 <br /><br />最近万能下载器有免费授权活动哈    详情咨询QQ 4000280050

SOSO.CC
鲜花(3) 鸡蛋(0)
djun 发表于 2016-1-9 00:20:45 来自手机 | 显示全部楼层
本帖最后由 三T上人 于 2016-7-22 17:16 编辑 <br /><br />了解,很好的资料。

SOSO.CC
鲜花(0) 鸡蛋(1)
flyingegg 发表于 2023-10-12 13:29:17 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|QQ即时充值|站点统计|手机版|小黑屋|百宝箱|留言|咨询|微信订阅|QQ189615688|东南西北人

GMT+8, 2024-3-29 05:12 , Processed in 0.095818 second(s), 46 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表