关于ArcGIS API 中 LODs 关键词功能的个人理解

关于LODs的理解

由于个人是对ArcGIS做二次开发的,对于ArcGIS的专业地理知识不是很了解,在二次开发中遇到的一些英文专属名词很难理解其中代表的含义,比如LODs关键字是翻译瓷砖好还是瓦片好?在我理解看来已经不重要了,这篇文章中我用ArcGIS API For Flex的开发代码作为演示,查看到底LODs到底是个什么东西?

如下flex中.mxml程序代码


<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:esri="http://www.esri.com/2008/ags"

backgroundColor="0xEEEEEE"

pageTitle="Specifying specific tile levels(指定tile的级别)">

<esri:Map>

<esri:lods>

<esri:LOD resolution="0.0439453125" scale="18468599.9106772"/>

<esri:LOD resolution="0.02197265625" scale="9234299.95533859"/>

<esri:LOD resolution="0.010986328125" scale="4617149.97766929"/>

<esri:LOD resolution="0.0054931640625" scale="2308574.98883465"/>

<esri:LOD resolution="0.00274658203125" scale="1154287.49441732"/>

</esri:lods>

<esri:extent>

<esri:Extent xmin="-124.629" ymin="18.826" xmax="-68.027" ymax="56.311">

<esri:SpatialReference wkid="4269"/>

</esri:Extent>

</esri:extent>

<esri:ArcGISDynamicMapServiceLayer url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"/>

</esri:Map>

</s:Application>

上面的代码也可参考官方API示例查看效果:https://developers.arcgis.com/flex/sample-code/only-use-some-scales-lods.htm

代码演示效果如上图,

这个时候我们观察到左上角的缩放滑块条上的级别正好是5个级别,和我们在flex程序中的<esri:LOD  …
/> 个数是一样的,也就是说我们可以自定义滑块的缩放级别,参数中resolution属性可以设置当前级别的分辨率和scale属性设置比例尺

如果我们不设置<esri:LOD  … />效果会是什么样呢?


<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"

xmlns:esri="http://www.esri.com/2008/ags"

backgroundColor="0xEEEEEE"

pageTitle="Specifying specific tile levels(指定tile的级别)">

<esri:Map>

<esri:extent>

<esri:Extent xmin="-124.629" ymin="18.826" xmax="-68.027" ymax="56.311">

<esri:SpatialReference wkid="4269"/>

</esri:Extent>

</esri:extent>

<esri:ArcGISDynamicMapServiceLayer url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"/>

</esri:Map>

</s:Application>

我们观察到缩放中没有级别,我们可以点击“+”,“ –”无限大和最小

我们打开<esri:ArcGISDynamicMapServiceLayer/>标签上的url地址发现,原来返回的内容中不包含有关地图Level的信息。http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer

所以我理解为不使用包含level的内容需要设置LOD的内容,还有一个发现是,一旦我们与如下代码中同时使用

<esri:ArcGISTiledMapServiceLayer
/>我们可以设置LOD也可以不用设置LOD内容,如果不设置将会默认使用ArcGISTiledMapServiceLayer的级别,因为它是包含Level的信息的


<esri:Map extent="{initialExtent}">

<esri:lods>

<esri:LOD level="0" resolution="156543.033928" scale="591657527.591555"/>

<esri:LOD level="1" resolution="78271.5169639999" scale="295828763.795777"/>

<esri:LOD level="2" resolution="39135.7584820001" scale="147914381.897889"/>

<esri:LOD level="3" resolution="19567.8792409999" scale="73957190.948944"/>

<esri:LOD level="4" resolution="9783.93962049996" scale="36978595.474472"/>

<esri:LOD level="5" resolution="4891.96981024998" scale="18489297.737236"/>

<esri:LOD level="6" resolution="2445.98490512499" scale="9244648.868618"/>

<esri:LOD level="7" resolution="1222.99245256249" scale="4622324.434309"/>

<esri:LOD level="8" resolution="611.49622628138" scale="2311162.217155"/>

</esri:lods>

<esri:ArcGISDynamicMapServiceLayer url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer" alpha="0.5"/>

<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer"/>

</esri:Map>

有不对的地方还望指出  谢谢!

时间: 2024-10-30 09:30:07

关于ArcGIS API 中 LODs 关键词功能的个人理解的相关文章

ArcGIS API中FindTask中文搜索无效,服务器编码问题URIEncoding=&quot;utf-8&quot;

问题来源:字符编码问题导致ArcMap中字符乱码或显示不正常,因而在F:\Program Files\ArcGIS\Server\framework\runtime\tomcat\conf中server.xml把URIEncoding="utf-8"加上 <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Doc

arcgis api for javascipt 加载天地图、百度地图

写在前面的话: 1.百度地图是自己定义的坐标系统,wkid=102100.百度地图数据是加密的产物.下文将附上百度坐标与WGS84,谷歌等坐标系统转换方法(地理-地理),此方法并未亲测,据说准 2.百度地图可以直接加载经纬度坐标 3.百度地图如果加载的arcgis api中会出现坐标偏移,1.中已经解决了地理坐标转换,那么找到百度投影-地理坐标的转换方式,则arcgis就可以直接无偏加载了,网上很多方法,但是亲测不行. 4.天地图不是涉密数据,根据本文提供的类库,arcgis api for j

ArcGIS API调用动态地图服务

引言 调用动态地图服务 需求 1根据需求隐藏服务中的某一个图层 11代码解释 2通过属性查询地图服务中的信息 21代码实现 22代码解释 3通过空间查询地图服务中的信息 31代码实现 32代码解释 4补充 1.引言 在本篇博客中主要记录一下在ArcGIS API如何调用自己发布的动态地图服务,利用动态地图服务我们可以完成哪一些需求等等. 注:(如何利用ArcGIS Server发布动态地图服务请看博客ArcGIS Server发布动态地图服务), 2.调用动态地图服务 在ArcGIS API 中

ArcGIS API for JavaScript学习(1):第一个地图

1.简介 ArcGIS API for JavaScript跟随ArcGIS 9.3同时发布,是ESRI根据JavaScript技术实现的调用ArcGIS Server REST API接口的一组脚本.当前的最新版本是Version 3.20.通过ArcGIS API for JavaScript可以将ArcGIS Server提供的地图资源和其它资源(ArcGIS Online)嵌入到Web应用中. 在ArcGIS API For JS中,esri.Map类是最重要的一个类,Map作为地图图层

ArcGIS API for Silverlight 点沿着线流动

原文:ArcGIS API for Silverlight 点沿着线流动 概述 前段时间做了一个项目,要求是有一些电力输送线,电力输送线或者石油管道都是有流动方向的,用户想做一个动态效果来模拟电力的输送.其实做简单了只要在线上标识个箭头就可以了.但也要是做成动态的,至少ArcEngine实现起来是有点麻烦的.但ArcGIS API for Silverlight可以解决这个问题. 实现思路 在地图上展示输送电力的线和模拟电力输送方向的电都是ArcGIS  API中定义的对象,否者这些数据在地图上

ArcGIS API for JavaScript3.x 学习笔记[8] 动态地图服务图层

在ArcGIS API 中给我们提供了一个类叫做ArcGISDynamicMapServiceLayer利用这个类,我们可以获得发布的地图服务.调用动态地图服务一般只需要两步: 通过地图服务的URL创建一个ArcGISDynamicMapServiceLayer对象 将动态地图服务的对象添加到地图容器中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

ArcGIS API for Silverlight中加载Google地形图(瓦片图)

原文:ArcGIS API for Silverlight中加载Google地形图(瓦片图) 在做水利.气象.土地等行业中,若能使用到Google的地形图那是再合适不过了,下面就介绍如何在ArcGIS API for Silverlight中加载Google地 形图.先上一个图,初步制作,待后续继续改进 ArcGIS API for Silverlight 中的ArcGISTiledMapServiceLayer图层,继承自TiledMapServiceLayer.如果想实现自己的缓存地图图 层

ArcGIS API for Silverlight实现地图测距功能

原文:ArcGIS API for Silverlight实现地图测距功能 问题:如何实现地图测距功能? 地图工具栏 <Grid x:Name="gToolMenu" Height="100" VerticalAlignment="Top" Opacity="0.8" HorizontalAlignment="Right" Width="467"> <Rectangle

关于ArcGIS API for JavaScript中basemap的总结介绍(一)

实际上basemap这个概念并不只在arcgis中才有,在Python中有一个matplotlib basemap toolkit(https://pypi.python.org/pypi/basemap),是用来实现地理信息可视化的.其中,matplotlib是Python常用的数据绘制包,basemap是matplotlib的一个子包,用来进行地图绘制.本文所指的basemap是指esri提供的基础底图图层. 正式使用basemap是在前一阵做webgis开发的时候,需要在自己的矢量图层下面