今天是我开通博客园的第一天,希望以后可以多在博客园上分享自己的学习心得,记录自己的学习历程。最近在学习ArcGIS RunTime SDK for Android,所以第一篇随笔就从这里来吧。官网的教程都是英文的,为了方便以后学习,我来翻译一下吧。

  https://developers.arcgis.com/android/guide/features-and-graphics.htm

  以下翻译的原文来自上述网址。

  Features and Graphics

  主题(何时使用Features,何时使用Graphics)

   在Arcgis Runtime SDK 中,Graphic 是Feature的一种实现类型。Feature接口被Graphic类和GeodatabaseFeature类所继承。所有的Features,包括graphics,都有几何图形和文字属性表,所以当他们被展示在地图上的时候是不容易被互相区分的。那么这两者之间的区别是什麽呢?

  最大的区别是Features是存储在数据集当中,而Graphic被存储在内存当中。Features是以要素图层的方式展现的,这个图层中的的要素类数据可能来源于在线服务或者是本地缓存。不论是何种情况,这些要素类总是以物理的形式被存储在硬盘的某处。而从另一方面来说,graphics总是被存储在客户机的内存当中,他们依赖于graphics图层,在程序运行期间它们必须被实例化。

  小贴士:

  虽然说feature这个术语也能用来表示graphic,但是在大多数情况下,它表示诸如geodatabase or geopackage features之类的东西,意思就是说feature就是指存在数据库中的要素。虽然"graphic feature"的称呼似乎更加准确,但是我们习惯称Graphics为"graphics"。

  以下是关于几个术语的一张图,主要就是几个类继承了一个接口。

  

   Features

   1.有几何实体

   2.有属性表

     3.存储在硬盘中

   4.通过要素层来展现

   5.根据渲染器来进行符号化,渲染器通常由要素服务或者包含这些要素的要素层所定义的。

     6.可以通过要素层来被选择

   Graphics

   1.有几何实体

   2.属性被存储在键值对类型的集合当中(比如泛型为MAP的集合)

   3.存储在内存当中

   4.通过graphic层来展现,这个graphic层可以展现不同几何类型的图形

   5.可以被单独符号化也可以根据渲染器进行符号化

   6.可以被选择

   7.可以定义一些display的属性例如可见度和绘制顺序

   何时使用features

   因为features被存储在数据库当中,它们可以向你的APP的所有用户展现一个数据集,包括用户会话期间。另一方面,graphics在客户机的APP运行期间被创建,它们只能被单独的用户所使用(除非你自定义了一个逻辑允许它们在会话期间使用,例如序列化)。features可以自定义地理实体类型和属性表模式,当然属性表和你想呈现的数据是保持一致的。

   脑海中想一下上述所讲,大概feature平常最多的使用便是不同的用户之间共享数据了。

   你可以把要素发布为要素服务。要素服务中的图层可以在地图中被展现,它们可以使用不同的方式来进行符号化,可以使用属性查询、空间查询,以及使用临时标准进行查询。 Runtime SDK 中丰富的编辑工具使得用户可以在APP中尽情使用编辑功能。

   何时使用graphics

   graphics是在程序运行期间被创建的,不必存储与物理机的硬盘当中。它们是展现当前应用中对用户特殊部分、特别想展示部分的理想类,当然用它们也能展现一些临时需要展示的东西。

   graphics通常用来展示一下一些东西:

   空间分析的结果,例如输入要素的缓冲区

   对地图中被选中的部分进行高亮显示

   用户交替在地图上进行绘画

   对那些变化特别快的数据进行显示(例如不断变化的GPS点或者移动的物体)

   在地图上显示下一个物件

    

   说了这么多,其实理解这二者挺简单的,feature,一般是不动的,不变化的,你的是你的,也是大家的,谁都可以用,地图初始化的时候就加载进来了,而graphics,一般是变化的,你自己在地图上画出来的,你的就是你的,不能给别人,你的程序一旦退出结束之后,下次再打开,就没有了,你就得重新绘制。各人拙见,有翻译不到位的地方,还请大家多多指教。

 出处:http://www.cnblogs.com/cnugis/p/5262769.html

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  

ArcGIS RunTime SDK for Android之Features and graphics的更多相关文章

  1. ArcGIS Runtime SDK for Android 10.2.5新开发平台安装配置指南

    ArcGIS Runtime SDK for Android 10.2.5版本在年前发布,其中一个重大的变化是:新版本使用了新的开发环境,在10.2.5版本中Esri使用了官方提供的新的Android ...

  2. 《ArcGIS Runtime SDK for Android开发笔记》——(4)、基于Android Studio构建ArcGIS Android开发环境

    1.前言 2015年1月15日,发布ArcGIS Runtime SDK for Android v10.2.5版本.从该版本开始默认支持android studio开发环境,示例代码的默认开发环境也 ...

  3. 安装 ArcGIS Runtime SDK for Android

    ArcGIS for Android 开发:Android 平台搭建 - liyong20080101的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyong ...

  4. 点聚合功能---基于ARCGIS RUNTIME SDK FOR ANDROID

    一直不更新博客的原因,如果一定要找一个,那就是忙,或者说懒癌犯了. 基于ArcGIS RunTime SDK for Android的点聚合功能,本来是我之前做过的一个系统里面的一个小部分,今天抽出一 ...

  5. ArcGIS Runtime SDK for Android 授权(arcgis android 去除水印)

    ArcGIS Runtime SDK for Android 授权 ESRI中国北京 要下载和安装 ArcGIS Runtime SDK for Android,您需要注册开发者账户,进而便拥有了访问 ...

  6. 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)(转)

    1.前言 在上一篇的内容里我们介绍了基于Android Studio构建ArcGIS Runtime SDK for Android开发环境的基本流程,流程中我们采用的是基于Gradle的构建方式,在 ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》

    开发笔记之基础教程 ArcGIS Runtime SDK for Android 各版本下载地址 <ArcGIS Runtime SDK for Android开发笔记>——(1).And ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述

    1.前言 数据生产和数据展示是常见的两大专业级移动GIS应用场景,这里我们针对数据生产环节的ArcGIS的离在线一体化技术给大家做一个基本的介绍和梳理. 使用ArcGIS离在线一体化技术首先需要以下基 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步

    1.前言 上一篇文章中我们实现了离线要素的编辑操作,这一篇中主要介绍离在线一体化技术中最后一个环节离线数据的同步功能,通过对数据的上传,服务器端的版本化管理,实现数据生产管理的整个流程. 转载请注明出 ...

随机推荐

  1. 运用jQuery写的验证表单

    //运用jQuery写的验证表单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  2. Informatica学习:1、安装介质的获取与安装

    本文目标: 为方便学习Informatica工具,在个人电脑上部署Informatica Powercenter. 所用系统:win7 64位. Informatica安装包括服务器端.客户端安装两个 ...

  3. SVG图案

    前面的话 给SVG元素应用填充和描边,除了使用纯色和渐变外,还可以使用图案.本文将详细介绍SVG图案 概述 <pattern>可以实现重复的效果,在canvas中被翻译为模式,而在SVG中 ...

  4. H5页面中尝试调起APP

    安卓版本5.0以上 IOS版本10.0以上 采用事件触发的方式处理唤醒APP 市面上常见的功能 这种功能现如今应该非常普遍了,淘宝H5,知乎H5等等... 点击后会调起APP或者打开下载页面或者直接进 ...

  5. 一:webpack 介绍

    webpack介绍: 它是一个给JS准备的打包工具,它可以把很多的模块打包成很少的静态文件,webpack有一个自己的特性就是代码分割(Code Splitting)可以使项目只加载当时需要的文件,  ...

  6. 基于NIOS-II的示波器:PART1 按键&显示屏驱动&界面

    NIOS II 相关资料以及基础入门 <NiosII的奇幻漂流> <Nios II那些事儿> 本文所有的硬件基础以及工程参考来自魏坤示波仪,重新实现驱动并重构工程. 基于NIO ...

  7. c# DateTime 类

    获得当前系统时间: DateTime dt = DateTime.Now;Environment.TickCount可以得到"系统启动到现在"的毫秒值DateTime now = ...

  8. [转载]在instagram上面如何利用电脑来上传图片

    原文地址:在instagram上面如何利用电脑来上传图片作者:小北的梦呓 我们都知道instagram是一个手机版的app,instagram官方不支持通过电脑来上传图片,而利用手机又很麻烦,那么如果 ...

  9. §--------算法分界线--------§

    如题 As said in the title~ 计算机的cpu计算从根源上由最基本的逻辑电路(晶体管)组成,由此衍生出最基本的数值运算:四则运算.而此后所有的高级算法都是建立在这个基本计算原理(逻辑 ...

  10. 团队作业4——第一次项目冲刺 FiFtH DaY

    项目冲刺--Penta Kill 很开心,小编今天LOL也拿到了五杀,感觉自己又可以去吹一年了. 不扯这些有的没的了,让我们来看看今天的任务吧~ Mission 看起来好像和昨天没有什么不同哦,其实是 ...