27、探索ArcGIS开发的测试与未来技术

探索ArcGIS开发的测试与未来技术

1. 测试部分

在开发过程中,测试是确保代码质量和功能正确性的重要环节。以下是一段测试代码示例:

MULT_RACE: 17
};
var data = census.ethnicData(ethnicAttributes);
assert.strictEqual(
  data.length, 
  8, 
  "The translation from graphic attributes to d3-based data 
  should have 8 attributes in the ethnicData function"
);
assert.strictEqual(
  data[4].name, 
  "Hawaiian / Pacific Islander", 
  "The item in index 4 should have a name of Hawaiian / Pacific 
  Islander data"
);
assert.strictEqual(
  data[5].population, 
  23, 
  "Out of the Hispanic column, the data index of 5 should have a 
  population of 23."
);

此代码主要进行了几个断言测试,确保从图形属性转换为基于d3的数据时, ethnicData 函数的结果具有预期的属性数量、特定索引项的名称和人口数量。

为了检查这些测试结果,需要在浏览器中加载测试文件。由于使用了Intern作为节点模块,需访问其测试运行页面。具体步骤如下:
1. 找到文件路径:文件位于 node_modules/intern/client.html
2. 指定测试加载位置:在浏览器中通过查询参数 config=tests/intern 指定测试加载位置。例如,可能的URL为 http://localhost/MasteringArcGIS/Chapter10/node_modules/intern/client.html?config=tests/intern (实际URL可能因设置而异)。
3. 查看测试结果:正确访问页面后,会看到Intern图标和通过/失败报告。失败的测试将以红色突出显示,通过的测试以绿色突出显示。

2. ArcGIS开发的未来技术

随着互联网技术的不断发展,ArcGIS Server开发的未来也在不断变化。目前,JavaScript仍然是Web开发的首选语言,而ArcGIS平台推出了一些新特性来加速应用程序开发,其中ArcGIS Online和Web AppBuilder基于ArcGIS JavaScript API。

2.1 ArcGIS Online

ArcGIS Online是ESRI的在线云工具,用于创建Web地图。它具有以下功能:
- 创建和共享地图 :用户可以创建Web地图,混合和匹配地图服务和其他数据源,修改弹出窗口,并与公众或组织内部分享地图。
- 数据存储和管理 :除了通过Web地图引用数据,ArcGIS Online订阅允许上传和存储数据。可以使用ArcGIS Server生成的切片地图包创建切片地图服务,创建用于存储、更新和检索要素数据的要素服务,还能使用地理编码和路由等ArcGIS Server扩展。
- 费用说明 :更高级的服务需要使用信用额度,可通过ESRI购买。简单交易可能只需少量信用额度,但频繁使用会累积费用。切片和要素服务按每月每GB存储收费。不过,开发者账户每月可获得50个信用额度用于测试应用程序。

2.2 ArcGIS Portal

对于不想将数据托管在公共平台(如ArcGIS Online)的企业组织,有ArcGIS Portal这一私有版本。它是一个以组织为中心的ArcGIS Online版本,可在私有或安全网络中运行。登录可通过SAML和oAuth2等常见安全协议进行验证。其功能与ArcGIS Online类似,但数据创建和共享仅限于公司网络内。

2.3 Web AppBuilder

Web AppBuilder是ESRI中国开发者实现的一个工具,用于创建使用ArcGIS Online Web地图的JavaScript Web地图应用程序。
- 基本功能 :使用ArcGIS JavaScript API创建全页Web地图应用程序,应用程序采用响应式设计元素,适合任何屏幕。发布者可以选择配色方案、标题文本、徽标和各种小部件。应用程序通过ArcGIS Online发布和托管,无需自己的托管环境。
- 开发者版本 :默认的Web AppBuilder没有自定义开发的空间,因此ESRI发布了开发者版本。这是一个Node.js应用程序,允许使用默认小部件和自定义小部件生成Web地图应用程序。小部件基于Dojo的dijit系统,易于添加到系统中。应用程序生成的HTML、样式表和JavaScript可运行独立网站,配置数据存储在JSON文件中。此外,还可以创建自定义主题,修改元素的样式和位置。小部件具有高度可扩展性,支持国际化和本地化。

以下是相关技术工具的对比表格:
| 工具名称 | 特点 | 适用场景 |
| ---- | ---- | ---- |
| ArcGIS Online | 在线创建和共享地图,支持数据存储和多种服务 | 个人或组织需要在线创建和分享地图,且对数据存储有需求 |
| ArcGIS Portal | 私有版本,数据在公司网络内 | 企业组织对数据安全和隐私有较高要求 |
| Web AppBuilder | 快速创建Web地图应用程序,有默认和自定义小部件 | 开发者需要快速搭建地图应用程序,且有自定义需求 |

mermaid流程图如下:

graph LR
    A[开始] --> B[选择开发工具]
    B --> C{选择ArcGIS Online?}
    C -- 是 --> D[创建和共享地图]
    C -- 否 --> E{选择ArcGIS Portal?}
    E -- 是 --> F[在公司网络内操作]
    E -- 否 --> G[使用Web AppBuilder]
    D --> H[数据存储和管理]
    G --> I[选择默认或自定义小部件]
    H --> J[完成开发]
    I --> J
    F --> J
3. 使用ArcGIS Online创建Web地图

以Y2K社会的需求为例,要为其创建ArcGIS Online Web地图并添加到现有应用程序中。具体步骤如下:

3.1 创建Web地图
  1. 注册开发者账户:如果尚未设置ArcGIS Online开发者账户,访问 https://developers.arcgis.com/en/sign-up/ 进行注册。
  2. 进入地图页面:登录后,点击顶部菜单中的“Map”,加载一个空地图。
  3. 保存地图:点击工具栏中的“Save”下拉菜单,选择“Save”。在弹出对话框中输入地图名称(如“Y2K Census Map”)、摘要和标签,选择地图存储位置。点击“SAVE MAP”后,地图将有新名称,并分配一个唯一的Web地图ID,需保存该ID供后续使用。
3.2 更改底图

ArcGIS Online提供多种底图背景,可根据数据需求选择。在工具栏左上角点击“Basemap”,选择“National Geographic”底图,地图将更新。

3.3 添加人口普查地图服务

ArcGIS Online提供多种添加图层到地图的方式:
- 搜索图层 :ArcGIS Online目录包含各种公共和组织使用的地图图层。可以搜索关键字和标签添加图层,也可添加其他人标记为公共数据的地图服务和图层。如果地图包含受限图层,查看者需要登录验证。
- 浏览ESRI图层 :ESRI有大量可供公共使用的地图数据,涵盖多个主题类别。但由于这里使用的是2000年数据,暂不使用此选项。
- 从Web添加图层 :可添加多种Web地图服务,包括ArcGIS Server地图和要素服务、WMS服务、WMTS服务、切片服务、KML文件、GeoRSS文件和CSV文件(在线CSV文件)。
- 从文件添加图层 :可以上传文件,ArcGIS Online会进行渲染。可接受的文件包括存储在.zip文件夹中的最多1000个要素的形状文件、制表符或逗号分隔的文本或CSV文件、GPS交换格式(GPX)文件。
- 添加地图注释 :可以在地图上绘制自定义点、线和多边形作为注释,选择预定义的要素类型和符号。

对于此应用程序,选择从Web添加图层,具体步骤如下:
1. 点击左上角的“Add”按钮,选择“从Web添加图层”。
2. 在下拉列表中选择“ArcGIS Web服务”。
3. 在空白处输入或粘贴2000年人口普查地图服务URL。
4. 不勾选“Use as Basemap”复选框。
5. 点击“ADD LAYER”将图层添加到地图。

3.4 样式设置

ArcGIS Online允许重新设置许多动态和要素图层的样式。以Y2K人口普查地图为例,要使州和郡的显示更美观并与国家地理底图背景融合,可进行以下操作:
1. 展开地图图层:点击“Contents”下的人口普查地图服务图层,展开图层,查看不同的子图层(如州、郡、街区组和街区点)。
2. 更改州的符号样式:点击州右侧的向下三角形,选择“Change Style”。在左侧菜单中选择标签和符号,由于底图和弹出窗口能提供州信息,可忽略标签设置。点击“Single Symbol”绘图下的“Options”按钮,在提示中更改符号和图层在地图上的可见范围。点击“Symbol”链接设置多边形的轮廓颜色和内部填充颜色,将轮廓颜色更改为深橙色,保留州的透明填充。
3. 重复上述步骤更改郡和街区组的样式,每次选择较浅的橙色。

通过以上步骤,可以利用ArcGIS Online的强大功能创建出满足需求的Web地图应用程序,并根据实际情况进行定制和优化。

探索ArcGIS开发的测试与未来技术

4. Node.js相关工具

在ArcGIS JavaScript API开发中,有许多依赖Node.js的工具,这些工具能帮助开发者更高效地进行开发。

4.1 ArcGIS API for JavaScript Web Optimizer

这是一个由ESRI托管的Node.js项目,它可以将自定义模块与最少的ESRI和Dojo模块打包在一起,简化构建过程。开发者可以选择通过ESRI的内容分发网络(CDN)进行托管,也可以下载并自行托管。更多信息可访问 https://developers.arcgis.com/javascript/jshelp/inside_web_optimizer.html

4.2 generator-esri-appbuilder-js项目

如果开发者更专注于Web AppBuilder Developer Edition,这个基于Yeoman(一个Node.js模板生成工具)的项目就非常有用。它可以生成一个带有所有必要文件的Web AppBuilder小部件模板。使用步骤如下:
1. 运行该项目,程序会询问一些基本信息,比如小部件的名称、作者信息等。
2. 输入所需的文件类型信息。
该项目可以在NPM上找到 https://www.npmjs.com/package/generator-esri-appbuilder-js ,也可以在GitHub上查看源代码 https://github.com/Esri/generator-esri-appbuilder-js

以下是Node.js相关工具的对比表格:
| 工具名称 | 功能 | 访问地址 |
| ---- | ---- | ---- |
| ArcGIS API for JavaScript Web Optimizer | 打包自定义模块与最少的ESRI和Dojo模块,简化构建过程 | https://developers.arcgis.com/javascript/jshelp/inside_web_optimizer.html |
| generator-esri-appbuilder-js项目 | 生成Web AppBuilder小部件模板 | https://www.npmjs.com/package/generator-esri-appbuilder-js https://github.com/Esri/generator-esri-appbuilder-js |

mermaid流程图如下:

graph LR
    A[开始开发ArcGIS应用] --> B{是否使用Web AppBuilder Developer Edition?}
    B -- 是 --> C[使用generator-esri-appbuilder-js项目]
    B -- 否 --> D[考虑使用ArcGIS API for JavaScript Web Optimizer]
    C --> E[生成小部件模板]
    D --> F[打包模块简化构建]
    E --> G[完成开发]
    F --> G
5. 将ArcGIS Online Web地图集成到现有应用程序

完成Web地图的创建和设置后,下一步是将其集成到现有的应用程序中。以下是具体步骤:
1. 获取Web地图ID :在创建Web地图并保存后,从URL中获取唯一的Web地图ID( ?webmap=XXXXXXXXXXXXXXXXX )。
2. 加载Web地图 :在现有的应用程序代码中,使用获取到的Web地图ID加载Web地图。
3. 裁剪不必要的功能 :根据应用程序的需求,去除一些不必要的功能,使应用程序更加简洁。
4. 适配自定义功能 :确保现有的自定义功能能够与新的Web地图正常工作,可能需要对代码进行一些调整。

通过以上步骤,就可以将ArcGIS Online Web地图成功集成到现有的应用程序中,为用户提供更丰富的地图体验。

6. 总结

随着互联网技术的不断发展,ArcGIS开发也在不断创新和进步。通过使用ArcGIS Online、Web AppBuilder等工具,开发者可以更高效地创建和部署地图应用程序。同时,Node.js相关工具的出现,进一步简化了开发过程,提高了开发效率。在实际开发中,开发者可以根据项目的需求和特点,选择合适的工具和技术,打造出满足用户需求的优质地图应用程序。未来,随着技术的不断发展,ArcGIS开发领域有望出现更多的创新和突破,为地理信息系统的应用带来更广阔的发展空间。

下载前必看:https://pan.quark.cn/s/a16f11f200be 在建筑工程的范畴内,沟槽开挖是一项至关重要的基础施工技术,其在市政工程、管道铺设以及地基加固等多个领域得到了普遍应用。 本文将聚焦于“沟槽开挖交底”这一核心议题,致力于呈现系统且深入的沟槽开挖知识体系,从而协助相关人员掌握其关键流程、安全规范以及技术精髓。 沟槽开挖的过程中通常包含以下几个核心要素:1. **设计规划**:在沟槽开挖启动之前,必须依据设计图纸进行周密的施工方案制定,明确沟槽的宽度、深度、长度及形态。 设计工作需综合考量土壤性质、地下水位、周边建筑物的状况等因素,以保障结构稳定性和施工安全性。 2. **土方计算**:依据沟槽的具体尺寸,精确计算需要移除的土方量,以便于科学安排运输和回填作业。 这一环节涉及体积计算方法和土方平衡原理,旨在实现工程成本的合理化控制。 3. **施工方法**:常用的开挖方式包括直壁开挖、放坡开挖、支撑开挖等。 选择何种方法应综合考虑地质条件、工程规模、工期要求以及成本预算等因素。 例如,在软土区域可能需要实施降水和支护措施。 4. **安全措施**:在沟槽开挖的整个过程中,必须严格遵守安全操作规程,包括设置警示标识、安装安全护栏、预防土体滑坡等。 同时,需定期检测边坡的稳定性,迅速应对潜在风险。 5. **地下水控制**:当地下水位较高时,可能需要采取降水措施,例如采用井点降水或轻型井点降水技术,以避免沟槽内部积水,确保作业环境的安全。 6. **环境保护**:在开挖作业中,应注重减轻对周边环境的影响,例如控制施工噪声、减少尘土飘散以及防止水土流失。 此外,应妥善处置挖掘出的土方,防止造成二次污染。 7. **机械设备选择**:根据沟槽的尺寸和地质状况,挑选适...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值