【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:ArcGISDynamicMapServiceLayerurl="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

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

代码演示效果如上图,

这个时候我们观察到左上角的缩放滑块条上的级别正好是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:ArcGISDynamicMapServiceLayerurl="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"/>
    </esri:Map>
</s:Application>

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

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

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

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

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


所以我理解为不使用包含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:ArcGISDynamicMapServiceLayerurl="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer" alpha="0.5"/>
    <esri:ArcGISTiledMapServiceLayerurl="http://server.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer"/>
</esri:Map>

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

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


未经允许请勿转载:程序喵 » 【ArcGIS】关于 API 中 LODs 关键词功能的个人理解

点  赞 (0) 打  赏
分享到: