ArcGIS动态图层

ArcGIS Runtime 加载SHAPE数据的另一种方式-动态图层 ArcGIS 10.1中有一个新的功能就是动态图层(NOT DynamicLayer,动态地图服务),该动态图层简单的说,就是向一个动态服务注册一个工作空间,该工作空间中含有shape,栅格等数据,这样的话,客户端可以通过API获取这个工作空间下的所有shape数据,并可以对其进行渲染。ArcGIS Runtime和ArcGIS Server的架构类似,而API也十分相像,ArcGIS Runti 阅读详情

ArcGIS Server 10.1新特性里面有几个新功能是非常棒的,其中有一个就是动态图层。动态图层不是一种新发明的图层,而是说在arcgis server的web应用中可以动态的配置其渲染和内容功能的图层,动态mapservice中的图层都可以通过相应的配置使其成为动态图层。动态图层的功能的产生是mapservice的核心功能进行增强的结果。

动态图层功能的产生背景:

先提出两个需求:

1 如何做专题图?动态的改变地图服务中的图层显示信息包括符号,渲染方式?

2 如何添加一个图层到地图服务中?数据可能在服务器端的数据库或者文件夹中。

这两个问题在10.1之前的版本也是可以实现的,先说第一个问题,第一个问题的有两种实现途径,一是使用非池化服务加ao编程来制作专题图,二是通过把数据下载到客户端,通过客户端渲染来实现专题图。第一种方法因为使用了非池化服务,所以效率比较低,再加上ao编程相对来说比较复杂,第二种方法对于小数据量是可行的,但是一旦数据量达到一定程度,那么客户端渲染就非常的慢。

第二个问题,采用的方法也是使用非池化服务加ao编程来实现。

正是在10.1之前的版本中实现这两个比较常见的问题有一定的局限性,在10.1就有了新的解决方案—那就是动态图层。

在10.1版本中这两个问题都可以通过动态图层来实现,动态图层的功能是通过rest api方式暴露的,所以通过Esri提供的几种webAPI都可以实现改变图层的符号,渲染方式以及添加删除图层的功能。就说改变图层的符号,在客户端的请求中指定用哪种符号,什么颜色,服务器端就会用指定的符号和颜色进行渲染然后把相应的图片返回给客户端。所以这些改变都是针对每个请求的,不会改变服务本身。

 

动态图层的应用场景:

1 改变现有图层:符号,渲染方式和版本,这些都可以通过客户端请求的时候给定相应的参数来进行设置,从而来达到轻易改变地图的效果。

2 添加地图服务中没有的图层

添加的数据可以是矢量数据也可以栅格数据,还可以是一个通过sql查询出来的结果,或者是两个表关联的关联结果。矢量的数据可以是shapefile,filegdb,或者sde中的数据。栅格数据可以是esri能直接识别的栅格数据格式。

 

动态图层功能的服务器端配置:

动态图层在配置上非常简单,如果你只是需要把mapservice中的图层变为动态图层的话,只需要打一个勾就可以。如果是要动态添加一个数据到地图服务中,就需要在地图服务中设置要添加的数据的工作空间,步骤如下:

1 在服务属性对话框中,如下图,在Parameters选项中把右下角allow per request modification of layer order and symbology 前面的选项框中打钩,如果只是要改变现有图层的信息,就此一步就可以了,如果要动态添加数据,点击旁边的Manage按钮。


2 点击manage对话框之后弹出下面的对话框,就是对你要添加的数据的工作空间进行管理,你可以在这里添加多个工作空间,这些工作空间中的数据就都可以实现动态的添加了。如下图:

3 点击Add按钮,可以添加workspace,选择workspace的类型,输入workspaceID和连接信息,如果是shapesfiles的话就是文件目录。这些信息都会在添加数据的时候用到的。如下图:

 

 

动态图层功能的Rest API和具体使用

获得动态图层的URL为:http://<mapservice-url>/dynamicLayer

参数设置说明如下:

Layer参数里面的内容是我们使用动态图层功能的关键内容。关键的有source和drawinginfo两项,source是指定图层,drawinginfo是指定绘制方式,比如渲染和符号,比如要改变某一个图层的符号,就在参数里面设置id,source, drawinginfo,指定了这些内容也就是告诉了后台服务器如何来绘制地图。看到这些设置项,我们也就能很好的理解动态图层的原理了,客户端告诉服务器绘制哪些图层,可以是指定工作空间的,也可以是已经发布好的图层,告诉服务器如何绘制这些图层,用什么样的渲染方式,什么样的符号,一切都是客户端告诉服务器端的,服务器端只是按照客户端的要求去生成地图而已。

下面是一个例子,指定了地图服务中的maplayerid为3的图层的符号和渲染信息: { "id": 501,
"source": { "type": "mapLayer", "mapLayerId": 3 }, "drawingInfo": { "renderer": { "type": "simple", "symbol": {   "type" : "esriSFS", "style" : "esriSFSSolid", "color" : [166,36,100,255], "outline" : { "type" : "esriSLS", "style" : "esriSLSSolid", "color" : [110,110,110,255], "width" : 1.0 } }, "label": "TaxLots", "description": "" }, "transparency": 60 } }

 

下面的这个例子是添加一个指定工作空间下的名称为usstates的featureclass,并给它指定了相应的渲染方式和符号,刚才在服务器端设定的工作空间的名称就在这里用到了。

{ "id": 502, "source": { "type": "dataLayer", "dataSource": { "type": "table", "workspaceId": "MyDatabaseWorkspaceID", "dataSourceName": "SDE.usstates", "version": "" } }, "drawingInfo": { "renderer": { "type": "simple",   "symbol": { "type" : "esriSFS", "style" : "esriSFSSolid", "color" : [166,36,100,255],   "outline" :   { "type" : "esriSLS", "style" : "esriSLSSolid", "color" : [110,110,110,255], "width" : 1.0 } }, "label": "TaxLots", "description": "" }, "transparency": 60 } }

上面是动态图层的参数例子,在具体使用的时候,就把上面的内容作为一个dynamiclayers的参数内容来使用就可以,比如在mapservice的exportmap操作中使用:

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/cityservices/MapServer/export?bbox=-244.41198409251106,-41.12263057731275,-0.7748853058572536,131.45364772990035&bboxSR=&layers=&layerDefs=&size=&imageSR=&format=png&transparent=false&dpi=&time=&layerTimeOptions=&dynamicLayers=[{"id":503,"source":{"type":"dataLayer","dataSource"{"type":"table","workspaceId":"MAP","dataSourceName":"MAP.user1.Taxlots"}},"drawingInfo":{"renderer":{"type":"simple","symbol"{"type":"esriSFS","style":"esriSFSSolid","color":[166,36,0,255],"outline":{"type":"esriSLS","style":"esriSLSSolid","color":[110,110,110,255],"width":1}},"label":"TaxLots","description":""},"transparency":60},"definitionExpression":"neighborhood='FrenchQuarter'"}]&f=html  

不仅export map操作可以跟dynamiclayers参数,query操作也可以跟dynamiclayers参数,也就是说可以对动态图层进行查询。

ArcgisServer屏蔽服务访问页面等安全漏洞 1 信息遍历 通过Arcgis Server自身配置进行设置。本机测试通过。 1.1 配置步骤 打开如下地址 http://ip:6080/arcgis/admin/system/handlers/rest/servicesdirectory 点击 edit,将Services Directory Enabled 的勾选去掉,保存。 1.2 设置后效果 2 不安全的域传送漏洞 删除Arc... 阅读详情

相关推荐

ArcGIS DynamicLayer

ArcGIS DynamicLayer Sample Code

ArcGIS Server 10.1新特性系列---动态图层

ArcGIS Server 10.1新特性里面有几个新功能是非常棒的,其中有一个就是动态图层。动态图层不是一种新发明的图层,而是说在arcgis server的web应用中可以动态的配置其渲染和内容功能的图层,动态mapservice中的图层都可以通过相应的配置使其成为动态图层。动态图层的功能的产生是mapservice的核心功能进行增强的结果。 动态图层功能的产生背景: 先提出两个需求: ...

weixin_30647065的博客 652

YOLOv5s模型训练全流程解析:从数据准备到实战检测

本文详细解析了YOLOv5s模型训练的全流程,涵盖从环境搭建、数据准备与格式转换,到模型训练、参数调优及实战检测的完整步骤。文章提供了具体的代码示例和常见问题解决方案,旨在帮助开发者,特别是新手,高效掌握YOLOv5s模型训练的核心技术,并成功应用于实际检测任务中。

weixin_29041767的博客 332

动态图层MapImageLayer - dynamic data layer with table join

动态地图图层是即时生成的图片,而不是在服务器上预先缓存的图片。当用户向服务器请求地图服务时,服务器根据接收到的参数调用底层服务。服务器根据接收到的参数调用底层服务,底层服务经过参数计算,实时地生成像素点,这些像素点构成图片,返回服务器,服务器再传递给用户端。动态图层的优点在于当用户需要实时数据(如某地段的交通流量分析)时,数据更新及时;缺点是显示效果较差,整个服务出图较慢。

花姐夫JUN的博客 1097

Oracle OCP 19c 认证1Z0-083考试大纲(Oracle官方版)

Oracle Database: Managing Multitenant Architecture Ed 1 course

#真题在线# 1588

3D视觉-激光三角测量法的概述和原理

激光三角法位移测量的原理是,用一束激光以某一角度聚焦在被测物体表面,然后从另一角度对物体表面上的激光光斑进行成像,物体表面激光照射点的位置高度不同,所接受散射或反射光线的角度也不同,用。激光三角测量法是一种通过图像采集系统采集被测物表面漫反射的激光轮廓,进而基于设备已知的相对位置通过算法处理,获得被测物表面的三维轮廓数据,进而还原目标物体三维空间信息的方法。采用激光三角原理和回波分析原理进行非接触位置、位移测量的精密传感器, 广泛应用于位置、位移 、厚度、半径、形状、振动、距离等几何量的工业测量。

qq_20660115的博客 3919

动态图层的实现

在GIS中,所谓“动态图层”就是位于地图最上层且刷新很快的图层。通常为点图层,用于显示那些实时刷新的信息。这样,就产生了两个问题:一,为什么动态图层位于地图最上层;二,如何作到刷新很快。下面就以GPS车辆监控为例加以说明。 假设屏幕内需要显示的GPS车辆监控点有500个,为了实时反映每辆车的最新状态,只要获得任何一辆车最新的GPS位置信息,就要进行全图刷新,通常也就是说,要能够作到一秒钟内能刷新...

weixin_30808693的博客 229

SoC芯片时钟树优化实战:如何用分段CTS解决DDRPHY与Memory Controller的时序难题

本文深入探讨了SoC芯片时钟树优化中的分段CTS技术,重点解决DDRPHY与Memory Controller之间的时序难题。通过分析多域时钟架构的复杂性,提出三级分段CTS策略,并结合28nm移动SoC实战案例,展示如何通过Guide Buffer插入和本地段重构实现72%的跨域偏差改善。文章还涵盖5nm以下工艺的线阻变异、热梯度效应等特殊考量,为数字IC设计提供时钟树综合的高阶解决方案。

kkk56的博客 905

MapServer动态图层、瓦片图层ArcGIS、Cesium中加载区分

问题来源:有个网友问如何调用arcgis的api将图层组的子图层全部显示出来。MapServer 既可用动态图层方式,也可用瓦片方式加载如何判断区分动态图层和瓦片图层首先,瓦片又区分矢量瓦片与栅格瓦片,常见的MapServer。MapServer 既可用动态图层方式,也可用瓦片方式加载。通常使用 Dynamic Map Service(动态地图服务)来发布。Dynamic Map Service 提供了一个动态地图图层,它会在客户端请求时动态生成地图图像。

debbie_luo1211571826的博客 2821

基于Qt C++开发一款国产化的福昕风格PDF编辑工具

QString text = QInputDialog::getText(this, "文本批注", "输入批注内容:", QLineEdit::Normal, "", &ok);QString savePath = QFileDialog::getSaveFileName(this, "保存加密PDF", "", "PDF文件 (*.pdf)");QAction* zoomInAct = new QAction(QIcon::fromTheme("zoom-in"), "放大", this);

寒寒豆豆软件公司的博客 236

深入解析雪球网股票行情数据爬取:基于WebSocket与API的实时数据获取技术实践

本文详细介绍了如何使用Python爬虫技术获取雪球网的股票行情数据,涵盖了WebSocket实时数据连接和RESTful API接口调用两种主要技术方案。完整的WebSocket客户端,支持实时行情订阅和数据处理功能丰富的API客户端,支持多种数据类型的获取数据存储和管理系统,使用SQLite进行数据持久化实时监控和预警系统,支持自定义预警规则技术指标计算,提供基本的数据分析功能。

2201_76125261的博客 1255

Cesium中实现仿ArcGIS三维的动态图层加载方式

并将切割出来的内容更新至瓦片的缓存中。如果不更新缓存,那么当重新显示已缓存的瓦片时,其内容会和当前的图片对应不上 )如果你在 Cesium 中加载过 ArcGIS 的动态图层,你会发现,Cesium 对于动态图层仍然采用类似切片图层的逻辑进行加载。事实上,我尝试过,但是由于需要同时更新的瓦片比较多,就会导致 export 请求回来的两张图片都需要复制一份到各自的 WebWorker 中,这样会导致更严重的内存问题。,需要做的额外操作只有在第二张大的图片中,挖去和小图片相交的部分。

weixin_43481439的博客 1394

Xilinx平台SRIO介绍(二)SRIO IP核基础知识

使用SRIO IP核必须掌握的基础知识! 理解了这篇,剩下的只是代码罢了。

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 4万+

ArcGIS动态图层问题

以下内容为项目上原来的实现方式,即通过指定动态工作空间中的shapefile渲染图层,新的实现方式将改为使用GeoJSON。 ========================================== 使用动态图层服务 ——即带有“动态工作空间”的地图服务,如下图 访问REST URL,可以看到有如下内容: 客户端使用arcgis api fo...

wsdhla的专栏 840

海康VisionMaster与西门子PLC1200进行S7通信

通信是连通算法平台和外部设备的重要渠道,在海康VisionMaster算法平台中既支持外部数据的读入也支持数据的写出,当通信构建起来以后既可以把软件处理结果发送给外界,又可以通过外界发送字符来触发相机拍照或者软件运行。 本文以西门子PLC1200作为外部设备为例,讲解海康VisionMaster与西门子PLC1200进行S7通信。......

haier123888的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

10-ArcGIS API For JavaScript动态图层

一、前言 ArcGIS 10.1版本之后,提供了一种新的功能:动态图层。准确的说,动态图层并不是一种新的地图服务,它更像是地图服务(MapServer)的一种扩展。动态图层主要特点是:(1)改变地图服务的现有图层;(2)动态图层适用于海量图层的情况;(3)不需要将 shp 文件发布为服务,服务器可以之间读取 shp 文件在前端显示; 二、调用动态图层 在前面已经说过动态图层并不是一种新的服务...

Ocean111best的博客 938

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

arcgis动态图层mysql_利用动态图层实现数据的实时显示

1开启动态显示功能;2 创建自定义的动态图层并重写相关的绘图方法(上面提到的第一种方式);3在Map中添加自定义的动态图层;4 实时数据的传递.1.7.1开启动态地图功能voidInitMap(){IAGSServerObjectNamepServerObjectName = GetMapServer("http://services.arcgisonline.com...

weixin_36383052的博客 323

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

arcgis动态图层mysql_利用动态图层实现数据的实时显示(arcEngine IDynamiclayer)

说明:最近一个项目用到这方面知识,文章主要来至网络,后期会加入自己的开发心得。(以下的代码实例中,地图开样子是采用ADF开发)1前言不刷新地图而能让数据实时显示,这在ArcGIS中已经不在是一个困扰我们的难题,在ArcGIS Engine的开发过程中,每一次更新数据后都需要刷新才能,更改大量数据并不断的刷新,让用户在静静的等待,这不是很痛苦吗?为此ArcGIS提供了一个动态图层,专门用于解决这样问...

weixin_39997696的博客 340

ArcGIS API For Javascript之动态图层

引言 调用动态图层 1启用动态图层 2Web端调用 21 代码实现 22 完整代码 动态图层的属性查询 1方法1通过click直接获取 11代码实现 12全部代码 2通过查询获得属性 21代码实现 22全部代码 补充 1 启用文件地理数据库三点不同 1.引言      在ArcGIS 10.1版本之后,ArcGIS提供了一种新的功能:动态图层。准确的说,动态图层并不是一种新的地图服务,它更像是地图服

u012123612的博客 4301

(十)ArcGIS API For Javascript之动态图层

引言 调用动态图层 1启用动态图层 2Web端调用 21 代码实现 22 完整代码 动态图层的属性查询 1方法1通过click直接获取 11代码实现 12全部代码 2通过查询获得属性 21代码实现 22全部代码 补充 1 启用文件地理数据库三点不同 1.引言 在ArcGIS 10.1版本之后,ArcGIS提供了一种新的功能:动态图层。准确的说,动态图层并不是一种新的地图服务,它更像是地图服

王培晓Carpenter 1万+

openlayers加载arcgis动态图层服务

openlayers加载arcgis动态图层服务 点击查看文章 转载于:https://www.cnblogs.com/dqygiser/p/9707144.html

aodao8891的博客 997

arcgis动态发布服务器文件夹,ArcGIS Server 动态图层发布调用图解

@1 前言1.1 简介动态图层并不是在Server端直接添shape、raster、filegdb、database等资源,它需要依附于一个开启动态图层的地图服务。然后,把数据资源所在位置注册为这个地图服务的动态工作空间。最后,在Web端调用时指定图层关联的数据源以图层符号化等。1.2 适用场景根据需要选择是否允许服务器的客户端动态更改地图服务中的图层外观和行为。要确定哪些图层显示在地图中、图层符...

weixin_29029731的博客 2205

ArcGIS api for js关于动态图层加载的记录

arcgis api 4.x加载动态图层是通过MapImageLayer,该类存在子图层属性sublayers,有以下情况需要注意!

u010395721的博客 1110

arcgis动态图层mysql_ArcGIS JavaScript API动态图层

?矢量动态图层???Test MapvararcgisApiBaseUrl= "http://172.16.2.17:8080/arcgis_js_api/library/3.26/3.26";html,body,#map{height: 100%;width: 100%;margin: 0;padding: 0;}require(["esri/config","esri/map","esri/l...

weixin_39627390的博客 139

动态图层在ArcGIS 10中的一些改进

动态图层在ArcGIS 10中的一些改进

阿翔 3641
上一篇: 通过Python脚本自动发布ArcGIS服务
下一篇: ArcGIS Server动态创建MapServer
engineer_he
博客等级 码龄10年 109粉丝 14原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值