
ArcGIS Mobile的使用和开发.pdf
49页分享地理价值ArcGIS Mobile 的使用和开发的使用和开发卢伟亮卢伟亮分享地理价值议程议程•认识认识ArcGIS MobileArcGIS Mobile –ArcGIS Mobile定位定位 –Mobile SDK –ArcGIS Mobile 的工作流程的工作流程 •开发移动开发移动GISGIS应用应用 –连接到连接到ArcGIS Server 获取地图获取地图 –编辑编辑GIS数据数据 •预览预览ArcGIS Mobile 9.4ArcGIS Mobile 9.4分享地理价值认识ArcGIS Mobile分享地理价值ESRI 移动移动GIS的解决方案的解决方案•ArcPad:户外采集,适合GIS专家 •ArcGIS Mobile:易学易用,和ArcGIS Server集成, 组件式开发,中、大型规模应用 •ArcGIS Engine:完备的GIS SDK,笔记本或平板PCArcPadArcGIS EngineArcGIS Mobile分享地理价值ArcGIS Mobile 的产品定位的产品定位5ArcGIS Server空间数据管理制图可视化空间分析浏览器ArcGIS MobileArcGIS ExplorerArcGIS DesktopJava.NET•基于ArcGIS Server的移动GIS解决方案 •ArcGIS Server 是功能齐全,基于服务器GIS 产品 •提供现成的应用和服务、支持多种客户端 •面向服务架构的重要应用层分享地理价值• 包含在包含在 ArcGIS Server 企业高级版中企业高级版中• 由由ArcGIS Mobile ApplicationArcGIS Mobile Application、、ArcGISArcGIS MobileMobile SDKSDK组成组成• 提供一套提供一套.NET 的组件,用于开发基于服务器的轻量级移的组件,用于开发基于服务器的轻量级移 动动GISGIS应用应用• 支持显示符号丰富的移动地图,并通过缓存技术支持离线支持显示符号丰富的移动地图,并通过缓存技术支持离线 编辑编辑• 基于无线网络,户外远程同步地理数据基于无线网络,户外远程同步地理数据ArcGIS Mobile的产品特征的产品特征分享地理价值ArcGIS Mobile 的应用案例的应用案例移动GIS项目:消防部门消防栓数据采集 系统 功能: ArcGIS Mobile Application 使用GPS 采集消防栓地理位置 记录状态信息 和数据中心同步移动GIS项目:物流公司快递系统 功能: ArcGIS Mobile SDK 为快递人员提供电子地图 实时更新任务状况 监控中心远程调度分享地理价值ArcGIS Mobile SDK:核心组件核心组件移动数据服务地理数据服务网络分析服务地理分析服务Mobile Service CacheFeature LayerFeature Layer矢量图层ArcGIS ServerMobile Service URLFeature LayerFeature Layer注记图层Feature LayerFeature Layer栅格图层MapActionsMapActionsMapActions分享地理价值ArcGIS Mobile SDK: 优势优势•开发平台开发平台–基于基于Microsoft .NET Framework 2.0 –组件式开发组件式开发 –运行于运行于Windows Mobile/ XP/Vista •扩展性扩展性–自定义图层,支持其他数据源自定义图层,支持其他数据源 –自定义地图交互工具自定义地图交互工具 –可远程调用可远程调用ArcGIS Server GP服务,实现高级移动服务,实现高级移动 GIS分析功能分析功能分享地理价值ArcGIS Mobile 工作流工作流: 概括概括1. 建立建立 Mobile GDB2. 创建创建 Mobile 地图地图3. 发布发布 Mobile 服务服务4. 给服务给服务/传输传输/设备设备/数据应用安全策略数据应用安全策略5. 设计设计 Mobile 应用程序、配置应用程序、配置Mobile Project6. 创建数据部署包创建数据部署包7. 部署部署 Mobile 解决方案解决方案8. 同步同步 Mobile 数据数据分享地理价值•准备好编辑图层和基础底图准备好编辑图层和基础底图 •使用多用户使用多用户 ArcSDE geodatabaseArcSDE geodatabase •根据户外编辑流程设计版本划分根据户外编辑流程设计版本划分 •数据要求数据要求 –权限权限 –Global IDGlobal ID字段字段 –版本化版本化 vs. vs. 非版本化非版本化工作流工作流 – 1建立建立 Mobile Geodatabase分享地理价值工作流工作流 – 2制作制作 Mobile 地图地图• Mobile 地图设计:–依据使用目的设计 •移除不必要的图层信息 •根据不同场景给图层设置不同可视比例尺 •不同的要素类型采用不同的符号来渲染 –依据环境设计 •增加符号颜色对比度• 底图数据 vs. 操作图层‐配色方案1280x1024 大320x240 小日光使颜色 变淡分享地理价值ArcGIS Mobile 工作流工作流 – 3发布发布 Mobile 服务服务ArcCatalogArcGIS Server Manager分享地理价值•服务器服务器–防火墙防火墙 –ArcGIS Server WebArcGIS Server Web服务访问权限服务访问权限 •通讯协议通讯协议 –HTTPS HTTPS 安全链接安全链接 •移动设备中的数据缓存移动设备中的数据缓存 –使用使用CrptoCrpto加密对象对缓存加密加密对象对缓存加密 •移动设备移动设备–操作系统操作系统 –硬件加密硬件加密ArcGIS Mobile工作流工作流: 4应用应用 Mobile 安全策略安全策略分享地理价值ArcGIS Mobile 工作流工作流: 5创建数据分发包创建数据分发包• ArcGIS桌面提供了辅助工具集桌面提供了辅助工具集–创建移动底图工具创建移动底图工具•只支持矢量数据只支持矢量数据•采用采用SDC压缩格式,体积小压缩格式,体积小–创建创建 移动服务缓存工具移动服务缓存工具•可以给所有可编辑的图层创建缓存可以给所有可编辑的图层创建缓存 •使用使用 ArcGIS Server发布的发布的Mobile Web服务,并服务,并 可挑选部分图层和指定空间范围可挑选部分图层和指定空间范围分享地理价值• 开发小组开发小组• ActiveSync/Windows Mobile Device Center• 大规模部署大规模部署– 使用企业级部署技术使用企业级部署技术– 安装包制作工具:安装包制作工具:Data Deployment UtilityArcGIS Mobile 工作流工作流: 6部署部署 Mobile 解决方案解决方案EXEData Deployment Package分享地理价值开发移动GIS应用分享地理价值使用使用MobileMobile SDKSDK开发:常见任务开发:常见任务•获取Mobile Web服务图层结构 •由服务器下载地图数据 •查询本地缓存数据 •绘制选择的矢量图形 •编辑GIS数据 •创建新对象 •更新对象 •同步更新分享地理价值•使用Mobile Service组件,设置Web服务的 Url •指定本地缓存的存放路径 •调用Open方法获得图层结构private void Form1_Load(object sender, EventArgs e) { mobileService1.Url = @“http://YOUR_SERVER = @“c:\temp\riverside_cache“;mobileService1.Open(CacheOpenMode.OpenOrCreate); }1 1获取获取MobileMobile WebWeb服务图层结构服务图层结构分享地理价值•向服务器发送异步请求2 2由服务器下载地图数据由服务器下载地图数据private void toolStripButton2_Click(object sender, EventArgs e) { mobileService1.GetDataAsync(envelope1, 0, false, “get_data“); }•指定获取的空间范围,envelope对象 •指定获取的比例尺 •可以选择覆盖本地缓存数据 •使用UserState参数跟踪异步请求的返回过程分享地理价值•GetDataAsync() 重载2 2由服务器下载地图数据由服务器下载地图数据( (续续) )public IList GetDataAsync(Envelope envelope, double scale, bool refreshData, object userState)public IList GetDataAsync(Envelope envelope, double scale, bool refreshData, object userState, params MobileServiceLayer[] mobileServiceLayers)•GetAnnotationDataAsync() 注记图层数据 •GetFeatureDataAsynch() 矢量图层数据 •GetFeatureCountAsync() 矢量数据记录数目 •GetRasterDataAsync() 栅格图层数据分享地理价值3 3显示数据显示数据•把把 Map组件和组件和MobileService 组件绑定组件绑定map1.DataSources.Add(mobileService1);•把把ScaleBar 组件和组件和Map 组件和组件和MobileService 组件绑定组件绑定分享地理价值3 3显示数据显示数据( (续续) )•内置的地图交互工具内置的地图交互工具 MapAction •设定设定Map组件的组件的CurrentMapAction属性属性分享地理价值•QueryFilter对象 • 基于一个几何对象进行空间查询 • 基于属性查询 •返回FeatureDataTable4 4查询本地缓存数据查询本地缓存数据private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e) { FeatureLayer featureLayer = mobileService1.Layers[“hydrant inspections“] as FeatureLayer;string whereClause = string.Format(“{0}'{1}'“, “inspector = “, toolStripComboBox1.Text);QueryFilter queryFilter = new QueryFilter(whereClause, true);FeatureDataTable featureDataTable = featureLayer.GetDataTable(queryFilter, null);if (featureDataTable == null || featureDataTable.Rows.Count == 0) return;dataGridView1.DataSource = featureDataTable; }分享地理价值public FeatureDataReaderGe。












