许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Esri Leaflet:介绍各种图层类型(动态、切片、影像等)

Esri Leaflet:介绍各种图层类型(动态、切片、影像等)

阅读数 17
点赞 0
article_banner

导读:学习如何区分组成ArcGIS平台的图层 类  

要素图层(Feature Layers)

要素图层:可以从ArcGIS Online或ArcGIS Server 请求要素属性和几何信息,从而展示在 Web 端的一类图层。无论服务是否满足本地格式,返回的是GeoJSON格式。

请求这种要素图层,常用的场景就是:通过访问该服务图层,得到要素所有的几何、属性信息,这样就可以在客户端创建弹出信息窗口进行展示了。也就是说,要素图层可以通过从服务器到客户端获得大量的数据。当然,如果你要绘制整个美国的征税包裹,肯定不想用要素图层。(因为请求所有数据,并全部展示在客户端,性能会很慢,其实也没有必要。)为解决这个问题,Esri Leaflet提供了一些选项。默认情况下,我们只请求当前范围内的要素,这样你就可以从后台大量的数据中抽取部分数据进行显示。

Esri Leaflet 提供了其他机制来优化性能。你可以控制获取哪些属性,对原始数据进行简化,用SQL语句过滤数据等等。客户端显示要素的数量总是有限的,这取决于服务器和使用的浏览器客户端。(比如IE版本的不同就对可渲染的多边形数量支持度不一样,在IE11上可以正常访问,也许在IE8上就会报错)。

如何获得要素图层

要素图层可以通过ArcGIS Server 发布 MapServer或FeatureServer 创建。要使用任意地图服务,只需指定特定的图层索引即可,如“ESRI_Population_World/MapServer/0”。

当然,如果你想在浏览器端编辑要素的话,需要发布成FeatureServer服务。

L.esri.featureLayer({    url: '.../ArcGIS/rest/services/BloomfieldHillsMichigan/LandusePlanning/FeatureServer/0'}) L.esri.featureLayer({    url: '.../ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer/0'})

下面,是请求访问点图层的一个结果,是GeoJSON格式的,包括了坐标信息和属性信息。

{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}}, "features":[     {"type":"Feature",     "id":2,     "geometry":{"type":"Point","coordinates":[-122.647466,45.543523]},     "properties":{"FID":2,"GEODB_OID":144,"OBJECTID":144,"TREEID":164,"STATUS":"Heritage","SCIENTIFIC":"Platanus x acerifolia","COMMON_NAM":"London planetree","STATEID":"1N1E26AC 12000","ADDRESS":"1728 NE STANTON ST","HEIGHT":82,"SPREAD":85,"CIRCUMFERE":15.44,"DIAMETER":59,"YEAR":1997,"OWNER":"Private, Front Yard","NOTES":"south side between NE 17th Ave and NE 18th Ave"}     }  ]}

动态地图图层(Dynamic Map Layers)

动态地图图层,通过访问ArcGIS Server地图服务获得JPG或PNG的图像,Esri Leaflet会将图像放置在正确的位置上,也即动态地展示在客户端。

动态地图图层的好处是,只在端最终呈现一幅 Image ,这在处理具有复杂几何形状的大型数据集是非常有用的。只需发送一个图像,而不是好几兆的数据。动态地图图层在客户端渲染时比较方便,如果你的数据集不断变化的话。

动态地图图层的缺点是,如果你想请求附加的属性信息时,从服务器获得该信息时比较耗时。Esri Leaflet 确实也提供了这样的访问方式,但你会注意到,并不如Feature Layer好使。

如何获得动态图层

动态地图图层可以访问MapServer服务。

// NOTE - The url contains 'MapServer'L.esri.dynamicMapLayer({    url: 'https://services.arcgisonline.com/arcgis/rest/services/Specialty/Soil_Survey_Map/MapServer'})

结果是图像:

Map tile

切片图层(Tield Map Layers)

切片图层与动态图层类似,但访问得到的是预先渲染好的切片缓存。

切片数据比动态图层的访问速度更快,因为这些PNG小图片在服务器端已经渲染好了(原始的数据按照一定的切片方案分级分组 存储  ,只需通过级别、行号、列号就可以访问到这些图片)。现在大部分的底图都是使用切片数据。

切片数据的缺点包括,一是占用服务器较多的存储空间,二是并不会动态更新,当你对这些图层做了操作之后,除非重新切片进行更新,否则变化不会同步。

如何获得切片地图

切片地图是通过ArcGIS  Server 发布MapServer服务创建的,在发布地图服务时,可以创建切片缓存。通过URL访问这些地图服务时,可以通过F12调试看到实际上获得的是地图的缓存信息。

// NOTE - When you visit the url you will see information relating to the tile cacheL.esri.tiledMapLayer({    url: 'https://services.arcgisonline.com/ArcGIS/rest/services/USA_Topo_Maps/MapServer'})

如,以下这个链接对应的就是下面这张图片。

http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/8/106/208


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空