shapefile 是一种 Esri 矢量数据存储格式,用于存储地理要素的位置、形状和属性。其存储为一组相关文件,并包含一个要素类。Shapefile 通常包含具有很多关联数据的大型要素,并一直用于 GIS 桌面应用程序(例如 ArcMap)。如果 shapefile 中的数据量很少(通常少于 1000 个要素),可以将其以包含 .shp、.shx、.dbf 和 .prj 文件的 .zip 文件形式添加到使用地图查看器创建的地图中,这样其他人便可通过 web 浏览器查看该 shapefile。
添加 shapefile 后,地图查看器将其转换成一种 web 客户端可以快速读取和显示的格式。要进一步提高显示性能,可以选择概化 shapefile 中的要素。概化通过简化要素来减小 shapefile 的大小,通常适用于小比例下的数据。
概化要素以便于 web 显示
Shapefiles 通常包含具有很多关联数据的大型要素。要通过 web 正确显示 shapefile,通常需要数据量较少的小型要素。概化要素是一种减小 shapefile 大小,进而改善 web 显示的方法。可以使用桌面应用程序(例如 ArcMap)概化要素,或者在将文件添加到地图时通过地图查看器概化要素。在 Web 墨卡托中,概化可将 shapefile 图层的精度降至约 1 米左右,并会移除 10 米内的折点。概化应保持要素的详实和精确显示,同时又可减小数据的整体大小并使图层能够快速显示在地图中。
概化不太适合在大比例下显示的重合面要素,因为这种情况下,概化操作会在面中创建一些狭长面。对于在大比例下显示的重合面,如果数据量相对较小,可以选择保留要素,如果数据量较大,则可以将要素服务发布到 GIS Server 站点。如果您在组织中具有发布权限,还可以通过发布要素创建要素图层。
添加 shapefile 注意事项
最初创建 Shapefile 是为了在桌面应用程序上执行地理处理。现在,一些 Web 浏览器客户端(包括地图查看器)也支持 shapefile。对于 Web 浏览器客户端可支持的内容,有一些限制。
最佳做法
下面是在地图查看器中使用 shapefile 的最佳做法。
- 如果想要以小比例显示大量要素且尚未在 ArcGIS Desktop 中概化顶点,则应选择概化要素以便于 web 显示。
- 创建一个 .zip 文件,其中包含组成 shapefile 的 .shp、.shx、.dbf 和 .prj 文件。
- 将 shapefile 直接存储在 .zip 存档的根目录(中心目录)下,而不是存档内部的目录下。如果 .zip 文件查看器显示路径信息,则路径应为空。
- 新图层的名称与所添加 .zip 文件的名称相同。可以在添加到地图之前重命名文件,也可以在添加到地图之后重命名图层。
- 添加标准压缩存档 .zip 文件。
- 文件中最多可包含 1000 个 shapefile 要素。
- 而在某些情况下,尝试添加包含少于 1000 个要素的文件时,也会显示一条错误消息,提示 shapefile 太大,无法添加到地图。当提取的数据太大,无法显示在 Web 浏览器中时,会发生此情况。通常,概化要素会减小总体大小,并且能够将 shapefile 添加到地图。如果该方法不起作用,可能需要使用 ArcGIS Server 创建要素服务。如果具有发布权限,您也可以通过向您的门户发布 CSV 或 shapefile 来创建要素图层。可以尝试将要素分解成多个 shapefile,但这可能会导致地图需要较长的时间才能显示。
- shapefile 应包含有效几何。如果拥有 ArcMap,则可以使用修复几何地理处理工具在 shapefile 中修正无效几何。
- 将用于定义数据坐标系的附带 .prj 文件添加到 shapefile 中。如果装有 ArcMap,则可定义 shapefile 的坐标系,从而为 shapefile 创建相应的 .prj 文件。
限制
以下是在地图查看器中使用 shapefile 的限制条件:
- 门户必须使用托管服务器才能将 shapefile 添加至地图查看器或将 shapefile 作为要素图层进行发布。
- 不支持 .zip 存档以外的压缩格式。
- 不能将包含多于 1000 个要素的文件添加到地图中。
- 不支持以下要素:多面体或多点几何,跨国际日期变更线的几何,或面中的自相交。具有这些要素的 Shapefile 无法添加到地图中。
- 无法直接将 Shapefile 拖放到地图查看器;必须使用地图查看器中的添加按钮。