ArcGIS Runtime SDK for iOS之Maps和Layers
2015-03-08 13:11
225 查看
本篇文章翻译自与https://developers.arcgis.com/ios/objective-c/guide/maps-and-layers.htm,翻译有错误的地方,还望大家多多纠正,一起学习
!
Maps 和 Layers
(Maps)地图就是用来绘制不同地理数据的一块画布。不同类型的层(Layers)用来绘制不同的地理数据。
Layers类型
图层一般被认为是底图的、可操作性的、 图形图层,这主要取决于图层所展示的数据和数据的使用方式,而每个图层又同时提供不同的功能和性能特点。
1)背景数据是固定不变的并提供上下文环境,经常被看作是底图,例如地形、图像、街道和建筑物数据。底图数据通常被准备和缓存在服务器上作为可以现成访问的图像切片数据,这有利于在应用程序上获取并展示这些数据。ArcGIS
Online上提供了一套免费的、可现成使用的底图图层,这些图层是经过预渲染和缓存的,从而确保了它们的快速绘制。另外,你可以利用ArcGIS 平台来***属于你自己的底图图层。
2)那些被app用户编辑的数据、定期更改的数据、或者从分析中得出的数据最好被作为操作层。通常情况下,操作性数据是通过你的组织来创建和维护的。展示并用这些操作行数据来工作常常是一个应用程序的焦点。
3)那些灵活多变的、生命周期短暂的数据就比较适合图像图层了,例如车辆和员工的位置信息、地理突发事件、临时的查询结果等数据,图形通常是在一个应用程序的内存中产生的,或是基于外部提供的信息在应用程序中被创建。
Layers(
图层)序列
图层序列在地图中是很重要的。底图通常覆盖了整个地图的表面,它一般首先被加载从而使得其在最下层绘制而不会遮挡其它图层。图层可以被重新排序,但是这不会改变地图的空间参考系。
接下来将操作性图层添加到地图中,图形图层一般最后被添加并显示在其它图层的最顶端。
空间参考系
地图和图层利用空间参考系来帮助定义坐标的地球表面的位置,距离单元和地图操作的坐标是由空间参考来定义。地图中的第一层一般是底图层,它定义了地图的空间参考而且不能被改变。
如果图层的空间参考和地图的空间参考不一样,那么这些图层在显示前必须重新投影到地图的空间参考。但也有一些层类型不能被重新投影,例如切片地图图层服务在服务器上被绘制和缓存,它们在客户端是无法被改变的。
为了最大限度的提高性能,避免重投影,要完全确保所有图层和地图拥有一样的空间参考。
选择如何编写地图
你可以在ArcGIS
Online上***一副地图,添加你需要的图层数据,定义这些图层的显示方式,并在你的app中使用这副地图。这使得你可以交互式地体验这些地图图层的外观和行为的许多方面,并能立即在线查看你的变化。通过在你的应用程序中加载在线地图,你同时也获得了集中管理地图的优势,具备了独立与你的应用程序代码而在线改变地图的能力,同时减少了重新部署应用的需求。它也更加方便地为用户提供一个预定在线地图来开放使用门户API的机会。不过要注意的是在线地图可能只包含在线数据。
或者你可以在运行时通过定义和添加图层来创建一副地图,或者甚至添加代码以允许你的用户来改变他们的图层。你也可以对你在线创建的地图做出临时改变,或是改变图层的外观。这种方法可以使你将离线地图添加到你的地图中去,并提供可编程控制的灵活性,但是这样在集中维护地图方面也会出现欠缺。
另外,将保存在ArcGIS桌面的地图包文件(MPK)和地图文档直接加载到地图中去是不可能的。
在运行时的行为特点
考虑地图在运行时如何绘制和表现,用户如何和地图交互。
地图和图层的初始化
地图在被创建后异步地被初始化。图层在被添加到地图中后也异步地被初始化。试图在地图和图层在初始化前访问它们的一些属性或是操作可能会引发错误。例如,获取地图的空间参考系或是地图中心、名称、图层范围。设定地图的初始范围来确保用户启动在一个与地图使用相关的位置。
环绕式地图
世界的最平描述只是扩展至东经、西经180度,也就是国际日期变更线的大致位置,这使得更加难以视化跨太平洋的航线或形状。然而,地图可以被配置为能够显示相互缠绕并能形成一个连续表面的东西半球,这给人的印象视地图视无止境的。移动地图变得类似与旋转的地球仪。
导航和交互
考虑启用什么样的行为或手势,让用户缩放、平移和旋转地图。
时间数据
地理数据可以随着时间改变;一些层可能用来表示存储时间数据,这是关于一个数据集随着时间的变化状态的信息。例如,随着水温的变化飓风的变化进展,野生动物栖息地的破坏,或是疾病的传播。这些层被称为时间感知层。
你可以利用时间感知层配置地图来显示不同的时间阶段。通过在你的地图中进行时间步进可以帮助你很轻松地识别那些可能被忽视的数据的趋势和模式。
!
Maps 和 Layers
(Maps)地图就是用来绘制不同地理数据的一块画布。不同类型的层(Layers)用来绘制不同的地理数据。
Layers类型
图层一般被认为是底图的、可操作性的、 图形图层,这主要取决于图层所展示的数据和数据的使用方式,而每个图层又同时提供不同的功能和性能特点。
1)背景数据是固定不变的并提供上下文环境,经常被看作是底图,例如地形、图像、街道和建筑物数据。底图数据通常被准备和缓存在服务器上作为可以现成访问的图像切片数据,这有利于在应用程序上获取并展示这些数据。ArcGIS
Online上提供了一套免费的、可现成使用的底图图层,这些图层是经过预渲染和缓存的,从而确保了它们的快速绘制。另外,你可以利用ArcGIS 平台来***属于你自己的底图图层。
2)那些被app用户编辑的数据、定期更改的数据、或者从分析中得出的数据最好被作为操作层。通常情况下,操作性数据是通过你的组织来创建和维护的。展示并用这些操作行数据来工作常常是一个应用程序的焦点。
3)那些灵活多变的、生命周期短暂的数据就比较适合图像图层了,例如车辆和员工的位置信息、地理突发事件、临时的查询结果等数据,图形通常是在一个应用程序的内存中产生的,或是基于外部提供的信息在应用程序中被创建。
Layers(
图层)序列
图层序列在地图中是很重要的。底图通常覆盖了整个地图的表面,它一般首先被加载从而使得其在最下层绘制而不会遮挡其它图层。图层可以被重新排序,但是这不会改变地图的空间参考系。
接下来将操作性图层添加到地图中,图形图层一般最后被添加并显示在其它图层的最顶端。
空间参考系
地图和图层利用空间参考系来帮助定义坐标的地球表面的位置,距离单元和地图操作的坐标是由空间参考来定义。地图中的第一层一般是底图层,它定义了地图的空间参考而且不能被改变。
如果图层的空间参考和地图的空间参考不一样,那么这些图层在显示前必须重新投影到地图的空间参考。但也有一些层类型不能被重新投影,例如切片地图图层服务在服务器上被绘制和缓存,它们在客户端是无法被改变的。
为了最大限度的提高性能,避免重投影,要完全确保所有图层和地图拥有一样的空间参考。
选择如何编写地图
你可以在ArcGIS
Online上***一副地图,添加你需要的图层数据,定义这些图层的显示方式,并在你的app中使用这副地图。这使得你可以交互式地体验这些地图图层的外观和行为的许多方面,并能立即在线查看你的变化。通过在你的应用程序中加载在线地图,你同时也获得了集中管理地图的优势,具备了独立与你的应用程序代码而在线改变地图的能力,同时减少了重新部署应用的需求。它也更加方便地为用户提供一个预定在线地图来开放使用门户API的机会。不过要注意的是在线地图可能只包含在线数据。
或者你可以在运行时通过定义和添加图层来创建一副地图,或者甚至添加代码以允许你的用户来改变他们的图层。你也可以对你在线创建的地图做出临时改变,或是改变图层的外观。这种方法可以使你将离线地图添加到你的地图中去,并提供可编程控制的灵活性,但是这样在集中维护地图方面也会出现欠缺。
另外,将保存在ArcGIS桌面的地图包文件(MPK)和地图文档直接加载到地图中去是不可能的。
在运行时的行为特点
考虑地图在运行时如何绘制和表现,用户如何和地图交互。
地图和图层的初始化
地图在被创建后异步地被初始化。图层在被添加到地图中后也异步地被初始化。试图在地图和图层在初始化前访问它们的一些属性或是操作可能会引发错误。例如,获取地图的空间参考系或是地图中心、名称、图层范围。设定地图的初始范围来确保用户启动在一个与地图使用相关的位置。
环绕式地图
世界的最平描述只是扩展至东经、西经180度,也就是国际日期变更线的大致位置,这使得更加难以视化跨太平洋的航线或形状。然而,地图可以被配置为能够显示相互缠绕并能形成一个连续表面的东西半球,这给人的印象视地图视无止境的。移动地图变得类似与旋转的地球仪。
导航和交互
考虑启用什么样的行为或手势,让用户缩放、平移和旋转地图。
时间数据
地理数据可以随着时间改变;一些层可能用来表示存储时间数据,这是关于一个数据集随着时间的变化状态的信息。例如,随着水温的变化飓风的变化进展,野生动物栖息地的破坏,或是疾病的传播。这些层被称为时间感知层。
你可以利用时间感知层配置地图来显示不同的时间阶段。通过在你的地图中进行时间步进可以帮助你很轻松地识别那些可能被忽视的数据的趋势和模式。
相关文章推荐
- ArcGIS Runtime SDK for iOS之利用代码添加图层(Layers)
- ArcGIS Runtime SDK for iOS开发系列教程(6)——Tasks使用的一般流程
- 【移动产品】ArcGIS Runtime SDK for iOS 2.2发布
- ArcGIS Runtime SDK for iOS开发地图图层-影像地图服务图层
- ArcGIS Runtime SDK for IOS 开发之启程篇
- 关于ArcGIS Runtime SDK for iOS中AGSLayerDefinition使用日期类型字段过滤的问题
- ArcGIS RunTime SDK For ios 10.1.1学习笔记(一)HelloMapWorld
- ArcGIS Runtime SDK for iOS开发地图图层-切片地图服务图层
- ArcGIS Runtime SDK for iOS 开发之加载地图
- ArcGIS Runtime SDK for iOS开发之地图图层-动态地图服务层
- 【技术直通车】ArcGIS Runtime SDK for iOS 升级介绍
- ArcGIS Runtime SDK for iOS开发系列教程(0)——PPT分享(iOS历史、Objective-C语法、SDK介绍)
- ArcGIS Runtime SDK for iOS中获取ImageServiceLayer的栅格值
- ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)
- ArcGIS Runtime SDK for iOS开发系列教程(4)——如何让你的iOS应用具有GIS能力
- 【移动产品】ArcGIS Runtime SDK for iOS v2.2.1发布
- ArcGIS Runtime SDK for iOS开发系列教程(8)——Geoprocessor使用
- ArcGIS Runtime SDK for iOS开发系列教程(2)——MapViewDemo解析
- ArcGIS Runtime SDK for iOS开发系列教程(2)——MapViewDemo解析
- ArcGIS Runtime SDK for iOS(一) – 实现地图的不同点的callout展示