ArcGIS CityEngine 可帮助您设计全面的城市总体规划、编写令人惊叹的程序化建筑,并创建用于数字化生产的宏大城市景观。您是否想过如何完成如此大型的项目?答案很简单:与 ArcGIS CityEngine 项目协作一起完成!
大家好,我是 Thomas,CityEngine 开发团队的产品工程师。我很高兴能为您提供一些关于 CityEngine 项目协作的建议。项目共享功能让您能够利用工作区中的代码库,利用专家的专业知识,或者无缝切换到移动工作站进行项目会议。
ArcGIS CityEngine 构建于强大的跨平台集成开发环境 (IDE) 平台上。其工作区概念可帮助您在预定义的项目文件夹结构中组织、定位和追踪所有文件(场景、CGA 规则和 3D 资源)。最重要的是,它允许将任何存储位置的项目文件夹链接到您的工作区。将其与云存储解决方案、代码版本控制或文件服务器相结合,瞧!现在,我们拥有了一个开放且可扩展的协作框架。
设置协作项目
在介绍三种实际的协作方法之前,让我们首先建立处理工作空间之外的项目的基础知识。
创建新的CityEngine项目
您可能已经知道,在 CityEngine 中,项目的默认存储位置是工作区根目录。但是,工作区包含特定于计算机的元数据文件。因此,在不同工作站之间同步项目时,切勿包含工作区根文件夹。请遵循以下最佳做法:
- 通过转到文件 > 新建 > CityEngine 项目来创建新项目。
- 取消选中“使用默认位置”选项。
- 定义共享存储位置的路径。
- 该项目将自动链接到工作区。

将共享项目链接到您的工作区
您是否收到了 CityEngine 项目合作邀请?如果收到了,请按照以下步骤将其添加到您的工作区:
- 转到文件>导入/链接项目文件夹到工作区…
- 选择与您共享的项目的根目录。
- 为了与共享项目保持同步,请确保禁用“将项目复制到工作区”选项。
- 单击“完成”将项目链接到工作区。
从现在开始,您对项目所做的任何更改都将直接写入共享项目。
![图片[3]-ArcGIS CityEngine 支持云端项目协作:技巧、窍门和最佳实践-软件使用论坛-ArcGIS CityEngine-CityEngine城市引擎](https://www.esri.com/arcgis-blog/wp-content/uploads/2024/03/importProject_w1600.png)
共享现有项目
如果您想共享现有项目,请通过以下方式将其提供给您的同事:
- 右键单击导航器中的项目文件夹;然后选择导出…,然后选择常规>文件系统,并定义一个共享目录,然后单击完成。
- 返回导航器,从工作区中删除项目文件夹以避免任何名称冲突。
- 现在按照上述说明将共享项目链接回您的工作区。

合作开展 CityEngine 项目
在下一部分中,我们将介绍在 CityEngine 项目上进行协作时的三个重要考虑因素,具体取决于您团队的基础设施、环境和资源。
云驱动项目协作
共享 CityEngine 项目最简单的方法是使用云驱动器服务的众多桌面集成之一。
例如,Microsoft Windows 预装了 OneDrive。云驱动器客户端会创建远程文件的同步本地副本,这意味着更改会先写入本地磁盘,然后再自动上传。此设置非常适合自动创建项目备份或保持桌面和移动工作站同步。
该解决方案的开放性和跨平台功能也使其成为城市设计项目协作的首选。为确保场景文件的兼容性,建议所有参与人员使用最新版本的CityEngine(这一点在与外部利益相关者合作时尤为重要)。
下图展示了一家城市设计公司利用 ArcGIS CityEngine Project Collaboration 进行城市总体规划设计的情况。签约建筑师可以为城市设计项目的各个组成部分提供方案。通常的做法是将不特定于特定设计的代码和资产分离到主项目中,并通过将其设置为只读来保护它。
![图片[5]-ArcGIS CityEngine 支持云端项目协作:技巧、窍门和最佳实践-软件使用论坛-ArcGIS CityEngine-CityEngine城市引擎](https://www.esri.com/arcgis-blog/wp-content/uploads/2024/03/CloudDriveCollab.jpg)
请注意,根据写入文件的数量和大小,这些更改可能需要一些时间才能在其他工作站上显示。CGA 编译器深度集成于 CityEngine 工作区管理中;工作区内容同步的任何延迟都可能导致编译错误。为了完全控制代码更改,后续的协作方法才是最佳选择。
版本控制服务器项目协作
您是否正在与他人合作开发 CGA 代码或复杂的 Python 脚本,并且需要跟踪变更?在 CityEngine 开发团队中,我们使用版本控制服务器来创建内容,例如教程和示例。该工具可以帮助我们跟踪变更并解决并发编辑冲突。Git 或 Git Large File Storage (LFS) 是常用的版本控制工具,它们可以与 GitHub、GitLab 或 Bitbucket 等服务配合使用。
![图片[6]-ArcGIS CityEngine 支持云端项目协作:技巧、窍门和最佳实践-软件使用论坛-ArcGIS CityEngine-CityEngine城市引擎](https://www.esri.com/arcgis-blog/wp-content/uploads/2024/03/VersionControlServerCollab.jpg)
您还可以将此设置与前面提到的云驱动器项目共享方法相结合。但是,对于某些规模过大的项目,仅依靠基于 Web 的解决方案可能不可行。在这种情况下,建议在您的生产流程中包含专用的资产管理解决方案。
网络文件服务器项目协作
如果您在拥有快速文件服务器的环境中工作,则可以直接处理位于中心位置的 CityEngine 项目。这避免了创建庞大资源库本地副本的开销。您的团队可以将所有项目直接从网络驱动器链接到个人工作区。通过将文件夹设置为只读,可以避免意外编辑共享库中的文件。为了撤消任何意外更改,我们强烈建议在文件服务器上使用完善的备份解决方案。
在处理同一个项目时,CE 会不断检查 CGA 和 Python 等文本文件是否有修改,并在同时进行编辑时提醒用户。对于场景文件,工作组需要达成一致以缓解此问题。最佳做法是让视觉特效艺术家专注于一种图层类型,然后将所有图层导入通用的 CE 场景中。
![图片[7]-ArcGIS CityEngine 支持云端项目协作:技巧、窍门和最佳实践-软件使用论坛-ArcGIS CityEngine-CityEngine城市引擎](https://www.esri.com/arcgis-blog/wp-content/uploads/2024/03/FileServerCollab.jpg)
整合所有
CityEngine 建立在专为协作项目设计的应用程序框架之上。借助 CityEngine,多个工作空间可以轻松共享并同时处理同一个项目。这种协作环境使团队能够充分利用协作编辑的协同效应,从而提高生产力和效率。您可以从我们提供的协作方法中选择最适合您团队需求和工作流程的方案。这些方法可确保无缝协作,并使团队成员能够为项目贡献自己的专业知识。
如果您尚未开始使用 CityEngine,但有兴趣探索其功能,您可以利用我们为期21 天的免费试用。试用期间,您可以亲身体验 CityEngine 的功能。此外,我们全面的教程提供分步指导,帮助您快速上手,充分利用 CityEngine。
立即开始利用 ArcGIS CityEngine 的强大功能,开启协作项目开发的新可能性。

