首页
友链
关于
推荐
Github
Weibo
Search
1
Tomcat安装配置
4,813 阅读
2
《ArcGIS Runtime SDK for Android学习笔记》-11、自定义扩展图层加载Google地图/高德地图并缓存
1,405 阅读
3
《ArcGIS Runtime SDK for Android学习笔记》-10、自定义扩展图层加载天地图并缓存
1,241 阅读
4
Android视频播放器ExoPlayer使用入门
1,139 阅读
5
GIS基础软件及操作(七)
1,045 阅读
计算机基础
语言基础
数据结构与算法
设计模式
移动端技术
源码解析
跨平台技术
前端技术
后端技术
持续集成
GIS技术
软件操作
移动端
三维技术
瞎推荐
沉迷学术
博客维护
登录
Search
标签搜索
读书笔记
Android
ArcGIS
Java
ArcGIS Runtime SDK
ArcGIS for Android
《Java编程思想》
JavaScript
Hexo
《Android开发艺术探索》
IPC机制
《第一行代码》
计算机基础
《JavaScript高级程序设计》
《计算机网络》
源码解析
Cesium
Spring Boot
Spring
《ECMAScript6入门》
wshunli
累计撰写
129
篇文章
累计收到
34
条评论
首页
栏目
计算机基础
语言基础
数据结构与算法
设计模式
移动端技术
源码解析
跨平台技术
前端技术
后端技术
持续集成
GIS技术
软件操作
移动端
三维技术
瞎推荐
沉迷学术
博客维护
页面
友链
关于
推荐
Github
Weibo
搜索到
11
篇与
ArcGIS Runtime SDK
的结果
2017-03-03
《ArcGIS Runtime SDK for Android学习笔记》-11、自定义扩展图层加载Google地图/高德地图并缓存
本文主要介绍自定义扩展图层加载高德/百度/腾讯等切片底图并缓存
2017年03月03日
1,405 阅读
5 评论
0 点赞
2017-03-02
《ArcGIS Runtime SDK for Android学习笔记》-10、自定义扩展图层加载天地图并缓存
本文主要介绍自定义扩展图层加载天地图并缓存(支持 ArcGIS for Android 100 版本)
2017年03月02日
1,241 阅读
2 评论
0 点赞
2017-03-02
《ArcGIS Runtime SDK for Android学习笔记》-9、ArcGIS for Android 常用数据加载方法
ArcGIS for Android 支持的空间数据类型 ArcGIS Runtime SDK for Android支持的空间数据源有多种,主要分为3大类:ArcGIS在线数据源、ArcGIS离线数据源(自10.2版本起),以及第三方数据源,详细的类别支持请见下表: 数据源类型 数据源名称 ArcGIS在线数据源 切片地图服务(ArcGISTiledMapServiceLayer)、动态地图服务(ArcGISDynamicMapServiceLayer)、影像服务(ArcGISImageServiceLayer)、要素服务(ArcGISFeatureLayer) ArcGIS离线数据源 紧凑型切片(ArcGISLocalTiledLayer)、tpk切片包(ArcGISLocalTiledLayer)、.geodatabase数据文件(GeodatabaseFeature)、.shp文件(ShapefileFeatureTable)、地名地址库(Locator)、网络数据集(Network Dataset) 第三方数据源 Bing地图(BingMapsLayer)、Open Street map(OpenStreetMapLayer)、OGC图层(KMLLayer、WMSLayer)、第三方自定义扩展图层 ArcGIS for Android 常用数据加载方法 ArcGISTiledMapServiceLayer ArcGISTiledMapServiceLayer图层对应ArcGIS for Server服务中的切片服务,由于切片都是事先做好的,ArcGISTiledMapServiceLayer不能对图层中的数据进行更改,除非更新服务缓存,在ArcGIS Runtime SDK for Android中,也不允许对此类型的数据进行查询,通常用做底图使用。同时,因为加载的是缓存切片,这个类型的图层是ArcGIS Runtime SDK for Android中相应请求最快的图层之一,它采用多个线程,通常是使用单独线程来处理请求和绘制图片,并且异步处理。用法如下: map = (MapView)findViewById(R.id.map); // Add tiled layer to MapView ArcGISTiledMapServiceLayer tileLayer = new ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"); map.addLayer(tileLayer); ArcGISDynamicMapServiceLayer ArcGISDynamicMapServiceLayer图层对应ArcGIS for Server服务中的动态服务,动态地图服务的地图数据是按照移动设备范围读取的。 ArcGISDynamicMapServiceLayer图层通常包含多个图层,这些图层由server根据请求来渲染并以raster image形式返回,并且返回的raster并不包含feature的额外信息。它的功能特点是更新非常方便,并能及时呈现给用户,同时,图层的可视性和空间参考可以改变,可以给图层添加单独的layer definition,ArcGIS for Server为每个image动态投影,而地图的空间参考是由第一个加载的图层决定。 它的性能特点是,它的渲染时间取决于请求数据的数量和复杂度,因此一般都比tiled map server要慢,因此,它适合数据经常发生改变、或者需要针对不同的用户呈现不同的数据,且要素信息(如attributes,geometry,symbol等)不需要的情况。 它的用法与ArcGISTiledMapServiceLayer图层相同,示例代码如下: map = (MapView)findViewById(R.id.map); // Add DynamicMapServiceLayer to MapView ArcGISDynamicMapServiceLayer agsDynlyr = new ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer"); map.addLayer(agsDynlyr); 在国内的话可以使用 智图 提供的全国基础地图服务 服务地址: http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer ArcGISImageServiceLayer ArcGISImageServiceLayer图层对应ArcGIS for Server服务中的影像服务,它为移动端使用影像数据提供了一种途径,通过这种方式调用的影像数据通常可以用来作为底图。调用影像服务也非常简单,同调用上述服务一样,示例代码如下: map = (MapView)findViewById(R.id.map); map.addLayer(new ArcGISImageServiceLayer("http://myserver/arcgis/rest/services/MyImage/ImageServer",null)); ArcGISFeatureLayer ArcGISFeatureLayer图层对应ArcGIS for Server服务中的Feature Service,该图层可以是空间图层,也可以是非空间的表,该图层包含了要素最丰富的信息,其中的每个要素都能被空间查询和SQL查询。从Feature Service中请求要素时以JSON格式返回,每个要素都单独渲染,因此与其它图层类型相比,要素图层具有最丰富的功能。 只有Feature Service(要素服务)才可以具备在线数据编辑功能,因此,如果想要对某个数据进行在线编辑或同步,需要将其发布成Feature Service,并在移动端新建一个ArcGISFeatureLayer图层以加载该服务。该图层有一些设定,这些设定能影响图层的性能,包括请求时间,返回大小、处理和响应时间等(设置需要在图层initialized完成之后进行)。 ArcGISFeatureLayer图层继承自GraphicsLayer,因此也具有该图层的所有操作。调用该图层的示例代码如下: String url = "https://servicesbeta.esri.com/ArcGIS/rest/services/SanJuan/TrailConditions/FeatureServer/0"; map = (MapView)findViewById(R.id.map); //按照快照方式加载该图层 map.addLayer(new ArcGISFeatureLayer(url,MODE.ONDEMAND)); setContentView (map); 加载tpk和紧凑型切片 ArcGISLocalTiledLayer是ArcGIS Runtime SDK for Android中专门用来添加离线数据包(底图)的图层,该图层目前支持两种格式的离线数据:一个是紧凑型切片,另一个就是tpk。使用起来也很简单,实例化该类的一个对象,并在构造函数中输入数据的路径即可,代码示例如下: map = (MapView)findViewById(R.id.map); // Add Local tiled layer to MapView ArcGISLocalTiledLayer agsLocaltiledlyr = new ArcGISLocalTiledLayer("file:///mnt/sdcard/ArcGIS/sample/HelloWorld/Layers"); map.addLayer(agsLocaltiledlyr); 加载影像数 ArcGIS Runtime SDK for Android 从10.2.4开始支持直接读取本地影像数据,数据类型包含:ASRP/USRP、CIB1,5,10、DTED0, 1, 2、GeoPackage、GeoTIFF、HFA、HRE、IMG、JPEG、JPEG2000、NITF、PNG、RPF、SRTM1, FileRasterSource是加载本地影像数据文件类,地图视图中以RasterLayer作为图层对象展示出来。代码如下: String rasterPath = Environment.getExternalStorageDirectory().getPath() + "/raster/test.tif"; FileRasterSource rasterSource; try { rasterSource = new FileRasterSource(rasterPath); } catch (IllegalArgumentException ie) { Log.d(TAG, "null or empty path"); } catch (FileNotFoundException fe) { Log.d(TAG, "raster file doesn't exist"); } catch (RuntimeException re) { Log.d(TAG, "raster file can't be opened"); } RasterLayer rasterLayer = new RasterLayer(rasterSource); mMapView.addLayer(rasterLayer); 加载离线的 .geodatabase 本地文件 .geodatabase 文件是ArcGIS 10.2中专为业务数据的离线而推出的一种数据格式,本质上,它仍然是SQLite数据库的封装,在SQLite数据模型的基础上,Esri计划逐步实现桌面端Geodatabase数据模型的存储,不仅包括Feature Class,还包括镶嵌数据集、网络数据集等。目前,主要实现了Feature Class的存储。 即,在ArcGIS 10.2.2中,要使用完全的离线功能,可以使用ArcGIS for Desktop提供的GP工具来将需要编辑和离线的业务数据导出到.geodatabase中,也可以直接从ArcGIS for Server上的要素服务中下载数据,并在移动端存储为.geodatabase,从而实现完全离线的移动应用。 ArcGIS Runtime SDK for Android中也提供了具体的Geodatabase类和FeatureLayer图层来加载.geodatabase文件,常用的类包括Geodatabase、GeodatabaseFeatureTable、GeodatabaseFeature、GeodatabaseFeatureServiceTable等,分别用来打开geodatabase数据文件、获取要素图层、获取图层中的具体要素,以及获取在线的要素服务。具体来讲,加载.geodatabase文件的步骤有如下几步: 实例化一个Geodatabase对象,这个类有两个构造函数,都需要指定本地数据库的存储路径; 创建一个GeodatabaseFeatureTable对象实例,用来获取需要的图层; 创建一个FeatureLayer来存储获取的图层,并将获取的图层加载到地图中; 调用dispose()方式释放资源。 示例代码如下: //实例化geodatabase对象,并指定文件目录 gdb = new Geodatabase("{/path/to/geodatabase}"); //实例化gdbfeaturetable对象,并获取第一个图层 gdbfeaturetable = gdb.getGeodatabaseFeatureTableByLayerId(0); //创建一个FeatureLayer来存储获取的图层,并将获取的图层加载到地图中 featurelayer = new FeatureLayer(gdbfeaturetable); mMapView.removeAll(); mMapView.addLayer(featurelayer); //调用dispose()方式释放资源 gdb.dispose(); 加载ShapeFile文件 ShapeFile文件:ArcGIS平台中最常见的数据格式,包含属性信息、投影信息等。新版本的SDK(10.2.4开始)可以直接加载.shp文件进行数据的展示、查询。代码加载如下: ShapefileFeatureTable shpTable = new ShapefileFeatureTable(shpUrl); FeatureLayer fl = new FeatureLayer(shpTable); fl.setRenderer(new SimpleRenderer(new SimpleMarkerSymbol( Color.BLACK, 2, STYLE.CIRCLE))); mapView.addLayer(fl); 参考资料 1、《ArcGIS Runtime SDK for Android开发笔记》——(10)、ArcGIS Runtime SDK支持的空间数据类型 - gis-luq - 博客园 http://www.cnblogs.com/gis-luq/p/4941737.html 2、《ArcGIS Runtime SDK for Android开发笔记》——(11)、ArcGIS Runtime SDK常见空间数据加载 - gis-luq - 博客园 http://www.cnblogs.com/gis-luq/p/5062715.html
2017年03月02日
499 阅读
7 评论
0 点赞
2017-03-02
《ArcGIS Runtime SDK for Android学习笔记》-8、ArcGIS for Android 离线数据部署
本文主要介绍在代码工程中添加数据并部署到移动终端的操作步骤
2017年03月02日
102 阅读
0 评论
0 点赞
2016-04-15
《ArcGIS Runtime SDK for Android学习笔记》-7、地图图层Layer
暂无简介
2016年04月15日
491 阅读
0 评论
0 点赞
2016-04-12
《ArcGIS Runtime SDK for Android学习笔记》-6、地图容器MapView
暂无简介
2016年04月12日
268 阅读
0 评论
0 点赞
2016-04-10
《ArcGIS Runtime SDK for Android学习笔记》-5、Hello World
开发环境搭建完成后,按照国际惯例先写一个 Hello World。
2016年04月10日
113 阅读
1 评论
0 点赞
2016-04-08
《ArcGIS Runtime SDK for Android学习笔记》-3、ArcGIS for Android开发环境搭建
本文主要针对在Windwos环境下用Android Studio搭建ArcGIS for Android开发环境
2016年04月08日
593 阅读
0 评论
0 点赞
2016-04-08
《ArcGIS Runtime SDK for Android学习笔记》-4、ArcGIS for Android开发环境搭建(离线部署)
本文主要介绍以复制SDK的形式搭建ArcGIS for Android开发环境
2016年04月08日
121 阅读
0 评论
0 点赞
2016-04-06
《ArcGIS Runtime SDK for Android学习笔记》-2、ArcGIS for Android介绍
ArcGIS for Android介绍
2016年04月06日
218 阅读
0 评论
0 点赞
2016-04-05
《ArcGIS Runtime SDK for Android学习笔记》-1、Android开发环境搭建
本文主要针对在Windwos环境下用Android Studio搭建Android开发环境
2016年04月05日
444 阅读
1 评论
0 点赞