地图服务发布到 ArcGIS Server 站点后,可根据需要选择是否允许服务器的客户端(如 ArcGIS Web API)动态更改地图服务中的图层外观和行为。要确定哪些图层显示在地图中、图层符号系统、图层顺序和位置以及标注等,可通过使用动态图层在服务器端实现。这样,动态图层可有效增加用户与地图的交互量。
例如,假设创建了一个包含美国各州图层的地图文档,并根据 2000 年各州的人口应用了颜色分类。然后以服务形式将地图发布到站点,并在 ArcGIS API for JavaScript Web 应用程序中引用该服务。现在,假设您希望 web 应用程序的用户能够使用不同的色带显示各州 2000 年的人口。通过在地图服务中激活动态图层,可以让客户端在 web 应用程序中自由地更改各州的符号。服务器将应用修改后的色带,然后将生成的地图图像返回给客户端应用程序。
注:
虽然启用动态图层的过程是通过 ArcGIS for Desktop 实现的,但使用动态图层来更改符号系统、添加图层等操作通常都是通过代码完成的。ArcGIS Web API 中包含了有关如何使用启用了动态图层的地图服务的文档。
动态工作空间
如果要向地图服务动态添加数据(例如要素图层、要素类、要素属性表、shapefile、栅格或独立表),则需要设置工作空间来包含想要添加的数据。动态工作空间可以是任何企业级数据库、企业级地理数据库、文件地理数据库或服务器可以访问的磁盘上的文件目录。
选择工作空间时,将生成一个 ID,用来在可供地图服务使用的工作空间池中唯一标识该工作空间。地图服务使用此 ID 连接到在动态图层请求中所指定的数据源。为地图服务配置动态工作空间时,可以修改该 ID。
选择动态工作空间时的注意事项
选择动态工作空间时,建议选择仅含有支持地图服务的图层和表格的工作空间。如果选择企业级地理数据库作为动态工作空间,则应为与数据库相连的帐户授予最基本的数据访问权限。如果可以,建议选择单独的生产数据库作为动态工作空间。有关在数据库中设置数据访问权限的详细信息,请参阅特定于数据库平台的以下主题:
- DB2 中的用户权限
- Informix 中的用户权限
- Netezza 中的用户权限
- Oracle 中的用户权限
- PostgreSQL 中的用户权限
- SQL Server 中的用户权限
- Teradata 中的用户权限
如果您的工作环境中不具备上述选项,应考虑限制地图服务和 Web 应用程序的访问权限。还可以考虑使用 HTTPS 对 Web 应用程序和地图服务之间的通信进行加密。此操作会对 Web 应用程序发送的服务请求加密,从而防止恶意方获取工作空间 ID。要了解详细信息,请参阅限制对 GIS Web 服务的访问。
动态图层的要求
ArcGIS Server 帐户必须至少具有对包含想要动态添加到地图服务的数据的动态工作空间的读访问权限。有关在发布时设置对工作空间的共享和文件权限的详细信息,请参阅使数据可供 ArcGIS for Server 访问。
有关动态图层要求以及地图服务中动态图层提供的功能的完整列表,请参阅地图服务中支持的功能。