ArcGIS_Server_切片详细图文教程
- 格式:pdf
- 大小:1.29 MB
- 文档页数:5
详解ArcGIS Server瓦片合并关键词:ArcGIS Server瓦片合并1.概述在进行地图发布时,如果范围比较小,在低级别很难找到发布的地图,所以需要在低级别使用大范围地图,到了高级别再使用需要的小范围的地图。
若是采取直接拷贝瓦片组合文件的方式,最终导致在ArcMap内加载不正常,究其原因,是conf.cdi和conf.xml内信息错误导致加载错误。
这里,我们以低级别全球和高级别全国的数据合并为例,介绍一下ArcGIS Server瓦片的合并。
2.数据来源本教程所使用的瓦片数据是从微图中下载的ArcGIS Server瓦片,除了ArcGIS Server 瓦片,常见的各种瓦片数据都可以从微图中下载。
微图(关注微信公众号“水经注GIS”,并回复“微图”获取微图软件安装包)3.数据下载打开微图,框选并下载谷歌卫星地图全球1-4级,如下图所示。
框选下载全球导出设置选择导出为ArcGIS Server瓦片,如下图所示。
导出设置同样的方法下载全国谷歌卫星地图5-9级,也是导出ArcGIS Server的瓦片,如下图所示。
导出设置4.数据合并合并数据之前我们先了解一下概述中提到的conf.cdi和conf.xml文件,打开conf.cdi 文件,可以看到里面主要是记录的是范围信息,即所下载地图的范围,以坐标点的方式表示。
conf.cdi文件再看看conf.xml文件,打开后发现里面包含参考系、起始点坐标、瓦片尺寸、读取切片原点、图片格式、宽度、高度、DPI、各缩放级别、缩放比例、分辨率等信息。
conf.xml文件这里,我们最关心的是缩放级别和缩放比例信息,也是我们要修改的地方,接下来会讲到。
导出完成之后打开全国的瓦片所在的文件位置,复制_alllayers文件夹,如下图所示。
复制_alllayers文件夹复制到全球瓦片导出的同级目录下,如下图所示。
全球瓦片同级目录出现提示是否替换文件夹,选择是,如下图所示。
ArcGIS相关使用说明地图切片及更新切片流程目录1、总则 (2)1.1、编制说明 (2)2、创建地图模版 (3)2.1、添加图层 (4)2.2、图层的比例尺设置范围 (4)3、发布、浏览地图服务 (6)3.1、使用ArcGIS Manager 发布 (6)3.2、使用ArcCatalog 发布 (9)3.3、使用ArcGIS Manager浏览地图 (12)3.3.1、浏览本机地图 (12)3.3.2、浏览网络上的地图 (14)4、地图切片 (15)4.1、对地图进行切片 (15)4.2、删除地图服务缓存: (19)5、更新地图切片 (20)5.1、新建一个shapefile文件 (20)5.2、更新部分地图切片 (23)6、如何在服务器上更新部分地图切片 (29)6.1、前期数据准备 (29)6.1.1、数据检查 (29)6.1.2、数据属性修改 (30)6. 2、更新部分地图切片 (31)6.3、更新部分切片过程中可能遇到的问题及解决方法 (31)1、总则1.1、编制说明为了提高用户浏览地图信息的速度,地图模版创建完成后,需要对地图模版进行发布,然后进行切片处理,即把发布后的地图模版按照一定的比例尺切成地图图片。
当用户需求改变时,地图模版随之发生改变,而静态的地图图片不会自动改变,因而需要对地图图片进行更新,从而使地图图片与地图模版相一致。
本文档对这些操作方法做了详细描述,供初学者参考。
2、创建地图模版为了发布地图信息,首先我们需要创建地图模版,即创建一个.mxd类型的文档。
下面介绍创建地图模版的步骤:点击【开始】—>【程序】—>【ArcGIS】—>【ArcMap】如下图所示:点击ArcMap,进入ArcMap界面,如下图所示:点击“OK“。
2.1、添加图层(1)、右键单击“图层”,点击“Add Data…”或者点击图标。
截图(2)、添加数据源选中后,点击“Add”按钮,添加完成。
如何导出ArcGIS Server瓦片格式并进行发布ArcGIS Server是Esri公司的ArcGIS产品家族中的服务端产品。
开发者使用ArcGIS Server可以构建Web服务。
本文利用91卫图助手下载ArcGIS Server瓦片格式数据,并用ArcGIS Server 10.2发布。
•91卫图助手下载器•ArcGIS Desktop 10.2•ArcGIS Server 10.21、启动91卫图助手,拉框选择范围,选择所要下载的区域,2、双击下载区域,弹出下载对话框,在下载对话框中选择所需要的级别,然后点击导出设置,导出方式选择导出Arcgis Server瓦片3、点击确定,下载影像,下载导出完成后,会弹出结果文件所在文件夹,我们打开文件夹,可以看到Arcgis Server瓦片格式数据。
1、发布之前,我们首先要安装Arcgis 和ArcGis Server, 在浏览器中输入http://localhost:6080/arcgis/manager/,看看是否能正常访问,如果能正常,才可以进行发布。
2、打开ArcGIS,点击“添加数据”将下载的瓦片添加进来3、瓦片数据加载进来以后,点击“文件”→“共享为”→“服务”,准备将地图发布服务4、在弹出的对户框中选择“发布服务”5、在弹出的对话框中设置好连接和服务名称,如果已经有ArcGIS Server连接,选择一下即可,如果没有,需要创建ArcGIS Server连接设置Arcgis Server安装时设定的用户名和密码6、在弹出的对话框中选择“使用现有文件”7、在弹出的“服务器编辑”对话框中点击“缓存”→“使用缓存中的切片”→选择“切片方案文件”→选择下载目录下的conf.xml 配置文件→再选择“发布服务后,手动构建缓存”→最后点击“发布”完成地图的发布8、在ArcGIS工具栏中,点击“目录”按钮,打开“GIS服务器”,找到刚刚发布的服务,在服务上单击右键选择“管理缓存”→“导入缓存”,在弹出的对话框中“源缓存数据集”一栏选择导出的瓦片数据。
前言本文档主要介绍ArcGIS Desktop,ArcGIS for Server的安装配置,GIS服务的发布以及如何进行地图切片。
使用的ArcGIS软件版本为10。
1。
一、ArcGIS Desktop 安装运行安装包中的ESRI.exe,点击ArcGIS for Desktop后的Setup,开始安装,之后的过程点击Ok即可。
二、ArcGIS Server安装操作系统需求操作系统64位安装步骤安装ArcGISServer加载光盘后运行可以看见下面的界面我们选择安装ArcGIS for Server,点击ArcGIS forServer后面的的“Setup”在弹出的窗口中点击Next勾选I accept the license agreement点击Change可以修改安装路径,点击next继续点击Browse可以选择Python的安装目录,选择好后点击Next继续创建server账户和密码,设置完毕后点击Next继续如果有之前安装时候创建的账户配置文件,可以勾选下面的那个选项.提示是否导出账号信息.如无需要,可以选择不导出。
点击Next继续点击Install即可开始安装耐心等待安装结束点击Finish完成安装选择相应的授权方式进行授权授权完成,点击完成,结束授权创建站点安装完成后,会自动弹出Manager页面,这里我们选择创建站点。
加入现有站点是用来搭建集群的,以后会介绍.输入主站点管理员账户点击”下一步”。
很多人到这一步会有一个疑问:这个账户和刚刚安装ArcGIS Server步骤中创建的账户有关系吗?分别用来控制什么?首先在上一节中我们创建的ArcGIS Server账户,是为ArcGIS Server创建的操作系统账户(安装完你可以切换操作系统账户看一下,是不是多了一个ArcGIS Server),该账户实际上用来管理ArcGIS Server的操作系统进程(启动、停止ArcGIS Server服务);而我们此时创建的站点账户,主要是为了管理站点中的各种服务形式的GIS资源(各种类型服务的发布、启动、停止、删除;站点安全;集群管理等等)。
ArcGISServer中的ExportMap使用方法目的:为了得到某一范围的地图服务图片;存在问题:1、由于数据量比较大,利用动态图的方式获取,服务响应太慢;2、由于数据经常更新,利用切片图的方式获取,存在随时需要重新切片;3、解决问题的办法:利用ArcGISServer中的ExportMap方法;ExportMap中支持的参数:1、F:返回类型,支持html | json | image | kmz四种格式,我们请求的是图片,选择f=image即可;2、Bbox:地图的左下角坐标和右上角坐标,排列顺序是<xmin>, <ymin>, <xmax>, <ymax>。
例如bbox=-104,35.6,-94.32,41;3、Size:返回图片的大小,宽度和长度,例如:size=600,550;4、imageSR:请求图片的坐标系统;5、format:请求图片的格式,有以下几种:png | png8 | png24 | jpg | pdf | bmp | gif | svg | png326、layers:请求图片的图层,有四个关键词:show(显示)hide(隐藏)include(包括)exclude(不包括);例如:show:1(表示显示第一层数据),同样hide:1(表示隐藏第一层数据);7、layer Definitions:表示获取满足当前条件的数据,相当于where条件或者是Filter;例如:layerdefs=0:COM1='COPPER'(表示第0层,字段COM1中的值等于“COPPER”)的所有要素;8、transparent:透明度,只对png格式有效;1、有效的EpxortMap请求示例:http://192.168.5.253/ArcGIS/rest/services/test/MapServer/export?bbox= -197.259167,-84.50000035,208.475833,87.83333335&bboxSR=&layers=&la yerDefs=0:COM1%3D%27COPPER%27&size=&imageSR=4326&format=&tran sparent=false&dpi=&f=html2、使用ExportMap需要注意的问题:1)、地图发布的服务,不管是动态服务还是切片服务,都可以使用ExportMap方法;2)、自己使用的时候,测试后感觉,切片服务的请求速度要比动态服务的请求速度要快;3)、如果使用切片服务,需要在建立Tiled的时候,将所有需要的级别都添加上,可以不做缓存处理;如果不加上级别,当请求的范围较小时,图片会寻找当前裁切比例尺的最适合的级别显示,将会出现不正确的图片,当加上比例尺后,虽然没有做缓存处理,仍然可以获得正确的图片;4)、裁切服务时,可以选择分图层裁切,在Advance options里可以选择;。
ArcGIS 地图切片及更新切片流程(这个文档很详细的讲述了制作切片的过程)来源:王昆的日志目录1、总则 (2)1.1 、编制说明 (2)2、创建地图模版 (3)2.1 、添加图层 (4)2.2 、图层的比例尺设置范围 (4)3、发布、浏览地图服务 (6)3.1 、使用ArcGIS Manager 发布 (6)3.2 、使用ArcCatalog 发布 (9)3.3 、使用ArcGIS Manager 浏览地图 (12)3.3.1 、浏览本机地图 (12)3.3.2 、浏览网络上的地图 (14)4、地图切片 (15)4.1 、对地图进行切片 (15)4.2 、删除地图服务缓存: (19)5、更新地图切片 (20)5.1 、新建一个shapefile 文件 (20)5.2 、更新部分地图切片 (23)6、如何在服务器上更新部分地图切片 (29)6.1 、前期数据准备 (29)6.1.1 、数据检查 (29)6.1.2 、数据属性修改 (30)6. 2 、更新部分地图切片 (31)6.3 、更新部分切片过程中可能遇到的问题及解决方法 (31)总则编制说明为了提高用户浏览地图信息的速度,地图模版创建完成后,需要对地图模版进行发布,然后进行切片处理,即把发布后的地图模版按照一定的比例尺切成地图图片。
当用户需求改变时,地图模版随之发生改变,而静态的地图图片不会自动改变,因而需要对地图图片进行更新,从而使地图图片与地图模版相一致。
本文档对这些操作方法做了详细描述,供初学者创建地图模版为了发布地图信息,首先我们需要创建地图模版,即创建一个.mxd 类型的文档。
下面介绍创建地图模版的步骤:点击【开始】—> 【程序】—> 【ArcGIS 】—> 【ArcMap 】如下图所示:点击ArcMap ,进入ArcMap 界面,如下图所示:点击添加图层(1) 、右键单击“图层”,点击“ Add Data 或⋯者”点击“ +”图标。
以我给的标题写文档,最低1503字,要求以Markdown 文本格式输出,不要带图片,标题为:arcgis影像切片方案# ArcGIS影像切片方案## 简介在GIS(地理信息系统)领域中,高质量的影像数据对于地图制作、遥感分析和空间可视化等方面至关重要。
ArcGIS是一种功能强大的GIS软件,提供了多种影像切片方案,使用户能够轻松创建、发布和共享高性能的影像切片服务。
本文将介绍如何使用ArcGIS进行影像切片,并提供一些最佳实践和建议。
## 影像切片概述影像切片是将大型影像数据集拆分为多个小图块,以便在Web地图或GIS应用程序中快速加载和显示的过程。
切片可以提高影像数据的渲染速度和空间查询性能,同时减少网络传输数据量。
在ArcGIS中,影像切片主要使用两种技术:切片缓存和切片数据集。
### 切片缓存切片缓存是将影像数据根据特定的分辨率级别和地图范围切分为多个图块,并将其存储在预定义的块级缓存中。
切片缓存使用金字塔数据结构来管理不同分辨率级别的图块,以便在不同的地图缩放级别下提供最佳的渲染效果。
ArcGIS支持两种类型的切片缓存:栅格金字塔和矢量切片。
- 栅格金字塔:栅格金字塔是对影像数据进行预处理,生成多个分辨率级别的图像,并将其存储为切片缓存格式。
栅格金字塔适用于大型栅格数据集,如卫星遥感影像和航空影像等。
使用栅格金字塔可以提高影像数据的渲染速度,并减少对原始影像数据的访问次数。
- 矢量切片:矢量切片是在原始矢量数据上进行切片,并将其存储为切片缓存格式。
矢量切片适用于矢量要素数据集,如道路网络、土地利用和建筑物分布等。
使用矢量切片可以提高矢量数据的显示效果,并减少对原始矢量数据的访问次数。
### 切片数据集切片数据集是将原始影像数据分割为多个图块,并将其存储在切片数据集格式中。
与切片缓存不同,切片数据集保留了原始影像数据的所有信息,并使用索引和元数据来管理和组织切片数据。
切片数据集适用于需要对原始影像数据进行分析、处理和编辑的应用场景。
ArcMap切图原理(一)——AO实现(C#)一、工作环境系统:win7 64bit软件:ArcGIS 10.0、ArcGIS Server 10.0IDE:Microsoft Visual Studio 2010二、开发语言C#.Net framework 3.0ArcGIS Server for .net sdk引用类库:三、地图切图参数ArcGIS Server发布切片地图服务流程:准备地图文档→发布地图服务→设置缓存参数→开始切图→切图结束→服务发布成功。
使用ArcGIS Server发布切片地图服务时,需要确定以下参数:比例尺级别、切片原点、图像高度和宽度、DPI。
下图所示为ArcGIS10.0中切片地图服务的一个缓存参数设置。
四、切片原理ESRI使用的是二叉树索引法,将平面地图从地图左上角(切图原点)到地图右下角分成若干行列,指定比例尺下以行列号为切图图片的索引。
我们需要使用到的切图参数:切图原点、图片宽高、地图范围、地图比例尺及DPI。
这里DPI的左右是将比例尺换算成像素比实际距离,即为了确定每张图片实际地理范围。
废话不多说,直接上实现代码。
五、代码实现1、准备工作:使用arcmap准备地图文档,发布地图服务,配置切图方案,不需切图。
(这一步也可代码实现,这里略过)2、地图服务类地图服务类提供对地图服务的访问,获取切图参数及地图文档的位置(地图文档MXD 在ArcGISServer10.0中可获取,后面版本更新不可获取)连接GISServer 方法:GISServerConnectionClass gisconnection = new GISServerConnectionClass();gisconnection.Connect(host);获取MapServer服务名方法:List<string> names = new List<string>();ESRI.ArcGIS.Server.IServerObjectManager som =gisconnection.ServerObjectManager;IEnumServerObjectConfigurationInfo infos = som.GetConfigurationInfos();infos.Reset();IServerObjectConfigurationInfo info = infos.Next();while (info != null){if (info.TypeName.Equals("MapServer")){names.Add();}info = infos.Next();}获取切片信息方法:IServerContext sc = gisconnection.ServerObjectManager.CreateServerContext(mapServerName, "MapServer");IMapServer pMapServer = sc.ServerObject as IMapServer;ITiledMapServer tm = pMapServer as ITiledMapServer;ITileCacheInfo info = tm.GetTileCacheInfo(pMapServer.DefaultMapName);我们从ITileCacheInfo中可以获取到信息包括dpi、lod、切图原点及切图像素宽和高3、切片信息类从ITileCacheInfo对象中提取我们需要的信息,这里创建了一个TileCacheInfoModel 类publicclass TileCacheInfoModel{#region变À?量¢?int _dpi = 96;int[] _levels;double[] _resolutions;double[] _scale;double _originX = 0;double _originY = 0;int _tileCols = 256;int _tileRows = 256;#endregion#region属º?性?publicint Dpi{get { return _dpi; }set { _dpi = value; }}publicint[] Levels{get { return _levels; }set { _levels = value; }}publicdouble[] Resolutions{get { return _resolutions; }set { _resolutions = value; }}publicdouble[] Scale{get { return _scale; }set { _scale = value; }}publicdouble OriginX{get { return _originX; }set { _originX = value; }}publicdouble OriginY{get { return _originY; }set { _originY = value; }}publicint TileCols{get { return _tileCols; }set { _tileCols = value; }}publicint TileRows{get { return _tileRows; }set { _tileRows = value; }}#endregionpublic TileCacheInfoModel(ITileCacheInfo info){_dpi = info.Dpi;_levels = newint[info.LODInfos.Count];_resolutions = newdouble[info.LODInfos.Count];_scale = newdouble[info.LODInfos.Count];for (int i = 0; i < info.LODInfos.Count; i++){_levels[i] = info.LODInfos.get_Element(i).LevelID;_resolutions[i] = info.LODInfos.get_Element(i).Resolution; _scale[i] = info.LODInfos.get_Element(i).Scale;}_originX = info.Origin.X;_originY = info.Origin.Y;_tileCols = info.TileCols;_tileRows = info.TileRows;}}4、切片计算类通过切片信息,我们能够计算需要切的地图中某比例尺下任意一个点所在的切片行列索引号,并能获取切片行列索引所对应的地图显示范围。
ArcMap切图原理(一)——AO实现(C#)一、工作环境系统:win7 64bit软件:ArcGIS 10.0、ArcGIS Server 10.0IDE:Microsoft Visual Studio 2010二、开发语言C#.Net framework 3.0ArcGIS Server for .net sdk引用类库:三、地图切图参数ArcGIS Server发布切片地图服务流程:准备地图文档→发布地图服务→设置缓存参数→开始切图→切图结束→服务发布成功。
使用ArcGIS Server发布切片地图服务时,需要确定以下参数:比例尺级别、切片原点、图像高度和宽度、DPI。
下图所示为ArcGIS10.0中切片地图服务的一个缓存参数设置。
四、切片原理ESRI使用的是二叉树索引法,将平面地图从地图左上角(切图原点)到地图右下角分成若干行列,指定比例尺下以行列号为切图图片的索引。
我们需要使用到的切图参数:切图原点、图片宽高、地图范围、地图比例尺及DPI。
这里DPI的左右是将比例尺换算成像素比实际距离,即为了确定每张图片实际地理范围。
废话不多说,直接上实现代码。
五、代码实现1、准备工作:使用arcmap准备地图文档,发布地图服务,配置切图方案,不需切图。
(这一步也可代码实现,这里略过)2、地图服务类地图服务类提供对地图服务的访问,获取切图参数及地图文档的位置(地图文档MXD 在ArcGISServer10.0中可获取,后面版本更新不可获取)连接GISServer 方法:GISServerConnectionClass gisconnection = new GISServerConnectionClass();gisconnection.Connect(host);获取MapServer服务名方法:List<string> names = new List<string>();ESRI.ArcGIS.Server.IServerObjectManager som =gisconnection.ServerObjectManager;IEnumServerObjectConfigurationInfo infos = som.GetConfigurationInfos();infos.Reset();IServerObjectConfigurationInfo info = infos.Next();while (info != null){if (info.TypeName.Equals("MapServer")){names.Add();}info = infos.Next();}获取切片信息方法:IServerContext sc = gisconnection.ServerObjectManager.CreateServerContext(mapServerName, "MapServer");IMapServer pMapServer = sc.ServerObject as IMapServer;ITiledMapServer tm = pMapServer as ITiledMapServer;ITileCacheInfo info = tm.GetTileCacheInfo(pMapServer.DefaultMapName);我们从ITileCacheInfo中可以获取到信息包括dpi、lod、切图原点及切图像素宽和高3、切片信息类从ITileCacheInfo对象中提取我们需要的信息,这里创建了一个TileCacheInfoModel 类publicclass TileCacheInfoModel{#region变À?量¢?int _dpi = 96;int[] _levels;double[] _resolutions;double[] _scale;double _originX = 0;double _originY = 0;int _tileCols = 256;int _tileRows = 256;#endregion#region属º?性?publicint Dpi{get { return _dpi; }set { _dpi = value; }}publicint[] Levels{get { return _levels; }set { _levels = value; }}publicdouble[] Resolutions{get { return _resolutions; }set { _resolutions = value; }}publicdouble[] Scale{get { return _scale; }set { _scale = value; }}publicdouble OriginX{get { return _originX; }set { _originX = value; }}publicdouble OriginY{get { return _originY; }set { _originY = value; }}publicint TileCols{get { return _tileCols; }set { _tileCols = value; }}publicint TileRows{get { return _tileRows; }set { _tileRows = value; }}#endregionpublic TileCacheInfoModel(ITileCacheInfo info){_dpi = info.Dpi;_levels = newint[info.LODInfos.Count];_resolutions = newdouble[info.LODInfos.Count];_scale = newdouble[info.LODInfos.Count];for (int i = 0; i < info.LODInfos.Count; i++){_levels[i] = info.LODInfos.get_Element(i).LevelID;_resolutions[i] = info.LODInfos.get_Element(i).Resolution; _scale[i] = info.LODInfos.get_Element(i).Scale;}_originX = info.Origin.X;_originY = info.Origin.Y;_tileCols = info.TileCols;_tileRows = info.TileRows;}}4、切片计算类通过切片信息,我们能够计算需要切的地图中某比例尺下任意一个点所在的切片行列索引号,并能获取切片行列索引所对应的地图显示范围。
关于切片包ArcGIS 10.1定位主题切片包允许您通过地图创建一组切片(图像),然后将其用作ArcGIS 应用程序中的底图。
将切片封装在单个文件(.tpk 文件)中,以便您能够像其他文件一样进行共享。
您可以通过发送电子邮件、复制到网络区域或上传到ArcGIS Online 等方式进行共享。
您还可以使用该文件来配置离线运行的设备和应用程序(能够脱离ArcGIS Server 或ArcGIS Online 运行的应用程序),如使用ArcGIS Runtime SDK 构建的用于Java、iOS、Windows Mobile 和WPF 的应用程序。
切片组称为切片缓存。
由预先创建的切片组成的底图的显示速度通常比其他类型的底图快。
尽管创建切片包会花费一些时间,但其成本属于一次性费用。
所生成底图的用户不必等待创建图像。
您拥有的用户越多,一次性成本的益处便越大。
如果您需要在底图上显示的数据是实时数据并且不接受时间延迟,则不适合进行切片打包。
由于切片包代表地图在某一时间点的快照,因此最适合不经常变化的地图,如街道地图、影像和地形图。
如果可接受切片包更新延迟,则要确定切片包能否适合您的需求,请考虑切片包的大小和每次更新的变更范围。
创建大型切片包需要更多的时间。
仅当可以隔离已变化区域并且只更新这些区域时,更新大型切片包才具有实际意义。
如果切片包较小,则可在每次更新时快速地重新构建整个包。
如果更新不能在一个可接受的时间段内赶上变化的步伐,则地图将不适合进行切片打包。
有关使用切片包的其他优势,请参阅为何要创建切片包?在创建切片包之前,请考虑以下因素:∙比例和比例可变选项- 有关详细信息,请参阅下面的“切片方案”部分和选择比例并设置比例可变选项。
∙图层控制- 有关详细信息,请参阅规划图层可见性。
∙如果要叠加缓存:▪边界- 有关详细信息,请参阅下面的“切片方案”部分。
▪坐标系- 有关详细信息,请参阅选择坐标系。
切片包选项将包上传到我的ArcGIS Online 帐户- 使用此选项可通过共享您的ArcGIS Online 帐户与广大受众共享包。