PIE SDK与GeoServer结合说明文档

1.  GeoServer简介

GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以容易的在用户之间迅速共享空间地理信息。它能兼容WMS和 WFS 特性;支持 PostGIS、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo;支持上百种投影;能够将网络地图输出为 jpeg、gif、png、SVG、KML等格式;支持AJAX 的地图客户端OpenLayers。

GeoServer的安装参考:https://blog.csdn.net/qq_35732147/article/details/81869864

GeoServer发布WMTS服务参考:

https://blog.csdn.net/weixin_38843590/article/details/79879317

2.  应用介绍说明

2.1.  应用场景介绍

应用项目中经常遇到WebGIS和桌面GIS中共享一份地图或多个桌面端共享一份地图,应对这个问题的最优的方案就是把数据发布成一份地图服务,通过WMTS地图服务实现不同终端的数据共享。下面我们介绍如何在PIE中加载GeoServer发布的地图服务。

2.2.  实现思路介绍

要在PIE中加载GeoServer地图服务,可以通过PIE的自定义瓦片服务接口ICustomerOnlineTiledLayer来完成。要实现它我们需要知道瓦片的地址,那么如何找到GeoServer中WMTS服务的瓦片地址呢?下面演示如何在google浏览器下获得瓦片的路径:

粘贴得到:http://localhost:8080/geoserver/gwc/service/wmts?layer=PIEServer%3AWorldBaseMap&style=&tilematrixset=EPSG%3A4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=EPSG%3A4326%3A7&TileCol=201&TileRow=44

标红的7代表切片的级别,标红的201代表切片的列编号,标红的44代表切片的行编号,修改为对应的标识符为:

http://localhost:8080/geoserver/gwc/service/wmts?layer=PIEServer%3AWorldBaseMap&style=&tilematrixset=EPSG%3A4326&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=EPSG%3A4326%3A[$Level]&TileCol=[$Column]&TileRow=[$Row]

2.3. 核心接口和方法


接口/类


方法


说明


ICustomerOnlineTiledLayer


SetTileInfo(TileInfo info);


设置瓦片信息


TileInfo


DPI


切片DPI,一般为96;


SpatialReference


地图服务坐标系;


Origin


地图服务切片起始点;


InitialExtent


地图服务的数据范围;


FullExtent


地图服务的全局范围


Format


切片的格式,一般为Png;


TileWidth


切片宽度,一般为256;


TileHeight


切片高度,一般为256;


LODInfos


切片级别信息;


LODInfo


Level


切片级别编号;(从0开始)


Resolution


该级别分辨率;


Scale


该级别比例尺;

2.4. 示例代码


项目路径


百度云盘地址下/PIE示例程序/14.SDK拓展开发/04PIE SDK与GeoServer结合/PIEMapApplication_GeoServer


数据路径


百度云盘地址下/PIE示例数据/栅格数据/World\World.tif


视频路径


百度云盘地址下/PIE视频教程/14.SDK拓展开发/ PIE SDK与GeoServer结合.avi


示例代码

 1 /// <summary>
 2 /// 增加用户自定义切片服务图层
 3 /// </summary>
 4 public void AddCustomTiledLayer()
 5 {
 6 // 创建自定义瓦片地图服务图层
 7       string url = "http://localhost:8080/geoserver/gwc/service/wmts?layer=PIEServer%3A
 8 WorldBaseMap&style=&tilematrixset=EPSG%3A4326&Service=WMTS&Request=GetTil
 9 e&Version=1.0.0&Format=image%2Fpng&TileMatrix=EPSG%3A4326%3A[$Level]&TileC
10 ol=[$Column]&TileRow=[$Row]";
11       CustomerOnlineTiledLayer layer = new CustomerOnlineTiledLayer(url);
12       layer.Name = "World";
13
14       // 设置自定义瓦片地图服务图层的地图切片信息
15       PIE.Carto.TileInfo tileInfo = new TileInfo();
16       tileInfo.Format = (PIE.Carto.TileImageFormat)1;
17       tileInfo.DPI = 96;
18       tileInfo.TileWidth = 256;
19       tileInfo.TileHeight = 256;
20       tileInfo.CompressionQuality = 75;
21       tileInfo.LODInfos = new List<LODInfo>();
22       double dResolution = 0.703125;
23       double dScale = 2.95497598570834E8;
24       for (int i = 0; i < 16; ++i)
25       {
26            PIE.Carto.LODInfo lodInfo = new LODInfo();
27            lodInfo.Level = i;
28            lodInfo.Resolution = dResolution / Math.Pow(2.0, i);
29            lodInfo.Scale = dScale / Math.Pow(2.0, i); ;
30            tileInfo.LODInfos.Add(lodInfo);
31       }
32       ISpatialReference spatialReference = SpatialReferenceFactory.CreateSpatialReference(4326);
33       tileInfo.SpatialReference = spatialReference;
34
35       // 设置自定义瓦片地图服务图层的起始点和范围信息
36       IPoint point = new PIE.Geometry.Point();
37       point.PutCoords(0, 90);
38       (point as IGeometry).SpatialReference = spatialReference;
39       tileInfo.Origin = point;
40       IEnvelope envelope = new Envelope();
41       envelope.PutCoords(0, -90, 360, 90);
42       tileInfo.InitialExtent = envelope;
43       tileInfo.FullExtent = envelope;
44       layer.SetTileInfo(tileInfo);
45
46       // 加载到地图并刷新
47       m_HookHelper.FocusMap.AddLayer(layer);
48       m_HookHelper.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
49 }

2.5.  示例截图

原文地址:https://www.cnblogs.com/PIESat/p/10337992.html

时间: 2024-11-06 07:30:57

PIE SDK与GeoServer结合说明文档的相关文章

PIE SDK专题制图保存模板说明文档

1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.      [模板文件]        [植被指数模板] 2. 功能实现说明 2.1保存模板 使用IMapDocument接口的Save()方法保存地图文档. 2.2 实现思路及原理说明 第一步 获取当前地

PIE SDK专题制图打开模板说明文档

1.    功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用时只需要打开该模板,加载相应数据,就可以直接出图了,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.         [模板文件]         [植被指数模板] 2. 功能实现说明 2.1打开模板 在PIE中,每个显示的地图都是一个地图文档(PmdContents),它可以保存为*.pmd文件.用IMa

文件上传到百度云盘说明文档

图1 图2 图3 图4 1. 上传百度云盘功能,由于百度开发者中还没有开放对.net 操作的SDK,所以我们现在只能使用原生的REST API   我们的做法就是如何用C# 语言调用 调用curl 命令. 2. curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 要操作curl 我们需要引入LibCurlNet.dll   3.百度上传我们需要有百度账号,而且需要申请开发者功能进入主页后

Highcharts选项配置详细说明文档

Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明文档,而中文版的文档网上甚少,且零散不全.这里,我把Highcharts常用的最核心的参数选项配置整理成文档,与大家分享. Chart:图表区选项 Chart图表区选项用于设置图表区相关属性. 参数 描述 默认值 backgroundColor 设置图表区背景色 #FFFFFF borderWidth 设置图表边框宽度 0 borderRadius 设置图表边框圆角角度 5 rende

完美统计图表(带说明文档)

完美统计图表(带说明文档) android-charts是一套基于Java和Android开发的图形图表控件. 目前该套图表主要包括以下组件: 网格图(gird chart) 线图(line charts),包含单线图和多线图 柱状图(stick charts),包含基本柱状图和特殊柱状图 支持显示均线 K线或蜡烛线图(candle stick-chart) 支持显示均线 饼图(pie chart or pizza chart) 包括基本饼图和分割饼图 雷达图或蛛网图(radar chart o

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情.或者详细点,或者简单点.那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, Swagger就是最受欢迎的REST APIs文档生成工具之一! 为什么使用Swagger作为REST APIs文档生成工具 Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学

Speech Service测试说明文档

Speech Service测试说明文档 一.              创建Speech Service 登录到azure.com portal,左上角点击创建,在搜索框输入"Speech",选择Speech Service,未来必应语音API会集成到Speech Service,所以直接使用Speech Service测试即可. 创建选择"东亚",香港数据中心,选择S0的定价层,F0是免费使用,超过一定时间会有限制 具体S0定价层参考:https://azure

PIE SDK专题制图另存模板

1.功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦,方便快捷. 每个地图模板都是一个地图文档(PmdContents),它被保存为*.pmd文件.                                                                             [模板文件]              [植被指数模板] 2

PIE SDK 鹰眼图

1. 功能简介 鹰眼图,是GIS的一个基本功能,在鹰眼图上可以可以像从空中俯视一样查看地图框中所显示的地图在整个图中的位置. PIE SDK支持鹰眼图的功能实现:下面就具体介绍一下. 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 在鹰眼图pannel内加载地图文档 第二步 当地图范围发生变化时MapHawkEyePmdControl_OnExtentUpdated(),鹰眼图发生变化事件 第三步 当点击鹰眼图是主地图发生相应操作事件MapHawkEyeControl_MouseDow