CityEngine 提供了多种用于对几何和模型进行地理配准的工具。 坐标系用于确定如何在场景中对数据进行地理配准。
场景坐标系
场景坐标系将为场景中的地理配准数据导入、导出和坐标值定义场景的参考坐标系。 您可以通过打开信息显示来显示场景坐标系和其他场景信息。 您也可以通过显示状态线窗口来查看场景坐标系。
要在场景下显示信息显示,请执行以下操作:
- 单击视图设置 > 信息显示。
该操作将显示场景信息,例如场景坐标系、格网大小和指针坐标。
要显示状态线,请执行以下操作:
- 单击窗口 > 显示状态线。
状态线将显示在主 CityEngine 布局的右下方。 状态线还将显示有价值的内存信息。
默认场景坐标系
在先前保存 CityEngine 场景时可为其设置一个场景坐标系 (SCS)。 默认情况下,SCS 将被设置为 CityEngine CS(米)。
设置场景坐标系
使用地理配准数据时,确保场景设置了有效的地理配准坐标系通常十分重要。 您可通过三种方法来设置场景坐标系:
- 在将地理配准数据添加到场景时设置坐标系。
- 在创建场景时设置坐标系。
- 在首选项中更改场景坐标系。
在添加地理配准数据时设置坐标系。
将地理配准数据导入到 CityEngine 场景中后,就需要使用场景坐标系来对其进行正确定位。 CityEngine 在您首次导入地理配准数据时会自动打开选择坐标系菜单。 该对话框会根据将要导入的数据来推荐匹配的场景坐标系。
在创建场景时设置坐标系
在创建 CityEngine 场景时,您可以选择在新场景向导中设置场景坐标系。 当您单击选择时,将出现场景的选择坐标系菜单。
在首选项中更改场景坐标系
可以在 CityEngine 首选项中通过单击编辑 > 首选项 > 场景来设置或更改场景坐标系。 单击场景坐标系按钮以打开选择坐标系菜单。
设置场景坐标系后,该坐标系就会显示在信息显示和状态线中。
注:
- 更改场景坐标系时,系统不会对场景的内容应用重新投影。 使用此选项仅会更改用于查看坐标以及将来数据导入的场景参考系统。
- CityEngine 当前不支持基准面变换。 建议在将数据导入 CityEngine 场景之前对数据进行重新投影,以匹配目标 SCS。
- 在 CityEngine 中,场景坐标系只能是投影坐标系(不能是地理坐标系)。
视图坐标系
在应用了不同的坐标系时,您可使用视图坐标系选项来查看信息显示栏的详细信息。
如果设置了场景坐标系,则可以通过选择视图设置 > 视图坐标系来选择坐标系。
CityEngine CS [米] | CityEngine 坐标 y 上,单位米 |
场景 CS [英尺] | 当前场景坐标系,以英尺为单位 |
场景 CS [米] | 当前场景坐标系,以米为单位 |
UTM | 通用横轴墨卡托投影 |
MGRS | 军事格网参考系 |
经度/纬度 [十进制度] | 以十进制度表示的经度/纬度 |
经度/纬度 [度分秒] | 以度、分和秒表示的经度/纬度 |
更改视图坐标系后,信息显示栏将显示更改后的坐标系中的坐标。
注:
- 如果未设置场景坐标系,则更改坐标系的选项不可用。 有关详细信息,请参阅设置场景坐标系。
- 状态线窗口中的场景坐标系将保持不变。
“坐标系”对话框
借助坐标系对话框,您可以在创建场景、访问场景首选项或导入地理配准数据时设置坐标系。
选择坐标系
使用选择坐标系菜单来设置场景坐标系。 浏览坐标系或使用搜索字段来选择所需的坐标系。
在首次导入地理配准数据期间出现此对话框时,建议使用先前选择的数据导入坐标系。 如果不需要地理配准坐标系,则无投影 > 以米为单位的原始数据选项将是不错的选择。
注:
场景坐标系只能是投影坐标系,因此此对话框中不提供地理坐标系。
选择数据坐标系
每当要导入地理配准数据,且找不到与该数据有关的投影详细信息时,系统都会弹出数据坐标系。 通常在出现此对话框时,您将会看到一个推荐的场景坐标系 此坐标系是不错的选择。
使用搜索字段
可使用搜索表达式字段来过滤坐标系列表,并按名称或权限代码搜索坐标系。 可使用通配符 * 来定义搜索查询。 要重置搜索过滤器并再次显示所有可用的坐标系,请清除搜索字段,然后按 Enter 键(或右侧的搜索按钮)。
从 .prj 文件加载坐标系
如果列表中没有所需的坐标系,则可以通过浏览到任意 .prj 文件来选择新的投影。 使用位于左上角的文件夹按钮打开文件对话框,然后浏览到 .prj 文件。
此功能还允许您通过使用所需参数创建自己的 .prj 文件来定义自己的自定义坐标系。
自定义坐标系
如果发现投影定义无法与其中一个预定义坐标系匹配,则 CityEngine 会将其添加为新的自定义坐标系。 这些坐标系会将其权限设置为 USER,并为权限代码设置一个递增的数字。
导入地理配准数据
CityEngine 处理导入地理配准数据的方式有所不同,具体取决于数据类型。
矢量数据
导入期间,所有地理配准矢量数据都将重新投影到场景坐标系。
- 地理配准矢量数据在导入时需要一个坐标系;如果找不到此类数据,则系统在导入过程中会打开选择坐标系菜单,以便用户为数据选择坐标系。
- 如果未在数据导入之前为场景定义场景坐标系,则系统将打开选择坐标系,并允许用户设置场景坐标系。
Shapefile (.shp) | CityEngine 将在同一文件夹中查找具有相同名称的 .prj 文件。 |
文件地理数据库 (.gdb) | 系统将在 .gdb 数据集的每个图层中读取坐标系。 |
KML/KMZ | KML/KMZ 纬度/经度数据将始终被解释为 WGS84。 将 KML/KMZ 数据导入未设置坐标系的场景时,建议将具有匹配时区的 UTM 作为场景坐标系。 |
OpenStreetMap (OSM) | OSM 纬度/经度数据将始终被解释为 WGS84。 将 OSM 数据导入未设置坐标系的场景时,建议将具有匹配时区的 UTM 作为场景坐标系。 |
地理配准影像数据
在以下情况下,影像数据将被视为地理配准数据:
- 其中包含嵌入式地理配准元数据。
- 发现了属于该影像的坐标定位文件。
- 发现了属于该影像的 .prj 文件。
导入时重新投影或旋转不适用于影像数据。 在导入期间,影像的坐标系仅用作影像数据的位置、范围和单位(平移和缩放变换)的参考系统。 因此在导入 CityEngine 之前,在目标坐标系中准备好影像数据十分重要。(请参阅下面的 GeoTIFF 部分。)
参考坐标系
CityEngine 将在同一文件夹中查找具有相同名称的 .prj 文件,以便将其用作数据的坐标系。 如果未找到 .prj 文件,则系统将打开选择坐标系菜单,并允许用户选择数据的坐标系。
地图范围
CityEngine 将在同一文件夹中查找坐标定位文件(例如 .jgw 或 .tfw),以读取数据的范围。 系统将通过在数据坐标系中找到的单位解释坐标定位文件数据,并视需要对其进行相应的计算。 如果找不到坐标定位文件,则可以在地图图层菜单中手动输入地图的大小和位置。
高程范围
CityEngine 将在图像中嵌入的元数据中查找最小和最大范围值。 系统将通过在数据坐标系中找到的单位解释范围数据,并视需要对其进行相应的计算。 如果未找到高程范围,则可以在地图图层菜单中手动输入地图的高程范围。
高程范围数据仅在将图像用作高度图时使用。
GeoTIFF(.tif,带有嵌入式元数据的 .tiff)
GeoTIFF 数据的处理方式与其他地理配准影像数据相同,但有以下区别:
- 如果在 GeoTIFF 元数据标签中使用权限和代码(例如 ESRI:102132)定义了坐标系,则此信息将用于设置数据的坐标系,并且将优先于 .prj 文件。
- 如果没有坐标定位文件,则系统将在 GeoTIFF 元数据标签中搜索地图范围数据。 如果存在该文件,则系统对该数据的处理方式将与坐标定位文件案例中的处理方式相同。
您仍可以在地图图层菜单中为非地理配准影像手动输入位置、范围和高程范围的参数。