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

(学习笔记)机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装

一、Rviz的安装 Rviz是一个

qq_59475883的博客 5057

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

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

花姐夫JUN的博客 1097

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 339

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

ubuntu18.04安装Nvidia显卡驱动后黑屏及网络、蓝牙驱动消失的解决方案

weixin_40735291的博客 6618

动态图层的实现

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

weixin_30808693的博客 229

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

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

debbie_luo1211571826的博客 2821

【论文硬核拆解】Ctx2Skill:让大模型自己跟自己玩,从上下文里「进化」出可复用技能

论文选择自然语言技能可解释性:技能是人类可读的 Markdown 文件,可以审查、编辑、调试可迁移性:即插即用,从一个模型到另一个模型无需参数访问:对闭源模型友好这比 SKILL0/SkillRL 等参数内化方法更实用,尤其是在商业 API 场景。

步子哥的博客 153

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Science prince的博客 3535

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

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

weixin_43481439的博客 1394

基于DynamicHead的YOLOv8四头版本改进:面向复杂场景的多目标检测优化【YOLOv8】

YOLOv8的检测头是通过不同尺度的特征层输出检测结果。这些检测头通常包括三个:用于大物体、中等物体和小物体的检测。然而,这种单一结构可能会在复杂场景下失去针对性和灵活性,特别是当多个目标之间差异较大时。为了进一步提升模型在特定目标上的检测性能,DynamicHead的引入为我们提供了一个多检测头的优化方案。本文提出了一种基于DynamicHead的四头版本YOLOv8改进方案,以解决复杂场景下多目标检测的挑战。通过引入四个独立检测头,分别针对不同目标特征进行优化,实现了更灵活的检测结构。

博客 1718

ArcGIS动态图层问题

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

wsdhla的专栏 840

最新Anaconda3的安装配置及使用教程(详细过程)

最新Anaconda3安装使用Anaconda下载方式一:官网下载方式二:清华镜像下载(推荐)Anaconda安装 Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项 Anaconda + Jupyter 基本上已经是大部分机器学习/数据分析等开发者标配的开发环境, 不多介绍,直接进去正题: Anaconda下载 方式一:官网下载 下载地址传送门: 官网首页:https://www.anaconda.com/ 官网下载页:https://www

HowieXue 薛永浩的博客 34万+

ssm框架搭建

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

10-ArcGIS API For JavaScript动态图层

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

Ocean111best的博客 938

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

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

weixin_36383052的博客 323

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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、付费专栏及课程。

余额充值