# 代理服务部署文档

作者:Dist 时间: 2020-10-16

# 1 功能介绍

该功能可实现专题图预览分层分级管控,地市(或市县)仅可见自己行政区域内的地图专题。如需在互联网环境预览专题图,可映射代理服务到互联网。

img

专题预览分级管控

# 2 代理服务部署

# 2.1 部署环境

安装 framwork4.0 或以上的版本。

# 2.2 发布地图服务

# 2.2.1 注意事项

l 确认所有地图服务坐标系,有**几套坐标系**,则发几套对应坐标系的行政区服务。

l 给行政区各区配不同的颜色,以便后面行政区切片图片处理。

l 行政区划服务中只能包含省、市、县中的**一个图层,服务中不能设置组图层**。

l 行政区划渲染颜色的字段是**行政区划代码,因为后台接口中返回的是行政区划代码,并且运维里授权都是行政区代码。切片类型必须是 PNG**。

l 发布行政区服务后,在浏览器中显示的行政区颜色,需要记录下各个行政区对应颜色 RGB 值,此处需要注意的是在 Arcmap 中配图颜色和浏览器中读取服务颜色 RGB 值不一样,此处需要记录的是**浏览器中读取地图得到的颜色。利用 chrome 打开\ConfigTool_ jqueryConfigTool_jquery.html 工具***获取行政区划服务的颜色。

# 2.2.2 切片方案

\1. 缓存-切片方案-建议-高级设置,删除已有方案。

\2. 查看底图切片级数及比例尺:webapps\XXX\configs\WMTSConfig.json(以天地图为例)

"lods": [

​ {

​ "level": 2,

​ "resolution": 0.3515625,

​ "scale": 147748796.52937502 ## 复制天地图各级比例尺

​ }, 略

img

自定义切片方案

\3. 服务缓存生成之后,可以去 GIS 服务器提取生成的 xml 方案\arcgisserver\directories\arc giscache\SDFJGK_QS\图层\Conf.xml。

# 2.3 配置文件参数修改

# 2.3.1 节点说明

节点 节点说明 属性 说明
ProxyConfig 根节点 IndexFile 索引表(根据行政区切片计算的行列号对应行政区索引表)
serverUrl 需要代理的地图服务器相关配置。如果系统调用了不同服务器的地图服务,则配置多个节点 url 代理服务器地址
username Arcgis server 用户名
password Arcgis server 密码
tokenServiceUri Token 地址
clientId 暂时忽略,
matchAll 地址是否全部匹配,false
DefaultCoordinatesystem 默认坐标系名称(大部分地图服务采用的坐标系)
DefaultIndexTable 默认坐标系行政区服务对应的索引表名
Coordinate system 地图服务器上发布服务采用坐标系,如果采用了不同坐标系,可配多个 name 坐标系名称
indexTable 坐标系对应行政区服务对应的索引表名
serverLayer 采用该坐标系的地图服务地址,可配多个,以 ; 分隔
XZQHLayerorRegionLayer 行政区服务,如果有多个坐标系,需要发布和配置多个行政区服务 xzqhUrl 行政区服务 rest 地址
lever 行政区服务比例尺设置级别
startTile 第一级切片起始行列号
Coordinatesystem 对应服务坐标系名称
XZQHConfigorRegionConfigs id 行政区 id(预留)
name 行政区名称,与前端传递过来行政区参数内容保持一致
rgb 对应行政区服务中该行政区对应的 RGB 颜色值(需要浏览器中调用服务显示的 rgb 颜色值)

# 2.3.2 配置代理服务

# 2.3.2.1 serverUrl 配置

img

***serverUrl******配置***

\1. serverUrl 中配置被代理的服务站点的用户名、密码、以及发布的都有哪些坐标系。

\2. 若是有两个坐标系,则需要将两个坐标系下的行政区划服务都要发布,并且添加到中;若是有多个服务器的服务需要管控,新增多个

# 2.3.2.2 RegionLayer 配置

img

***RegionLayer******配置***

\1. RegionLayer 为一个管控级别,url 为行政区切片服务地址,RegionType 需要和开发人员沟通好,例如省级项目里,省级用户不管控,地市级 RegionType 定为 1,县级 RegionType 定为 2,以上以实际情况为准。

\2. RegionLayer 中配置被管控的层级,现在这里只是管控地市与区县(两个 RegionLayer),并且坐标系都是一致的。若是需要管控到乡镇的级别,需要在另一个 RegionLayer 中新增乡镇的服务。若是服务器中发布的服务有两个坐标系,也需要在另一个 RegionLayer 中新增区县的服务。

img

***RegionConfigs******配置***

\3. RegionConfigs 里为各行政区信息,name 为行政区唯一标识,rgb 为渲染颜色值,一一对应。

img

***Levels******配置***

\4. Levels 里包括各切片级别信息,起始行列号、比例尺。

img

ConfigTool_jquery 工具

\5. ***RegionConfigs 和 Levels******配置内容较多,可以通过 ConfigTool_jquery 小工具来通过服务 url 自动生成。用 chrome 打开 ConfigTool_jquery.html,输入行政区服务地址,点击执行(若是出错,将该文件拷贝到本机上面执行,c 盘有可能因为权限的问题,执行出错),将下面文本框中内容全部复制拷贝到 proxy.config 的对应节点下即可。***

# 2.4 部署 IIS 网站

# 2.4.1 网站发布

\1. 将发布服务版本部署在 IIS 网站下,程序池采用 framwork4.0(或以上)。

img

网站发布

\2. 前台采用代理地址是:http://192.168.1.159:83/Proxy.ashx

\3. 单个测试页面地址:http://192.168.1.159:83/TestForm.aspx

# 2.4.2 配置测试

\1. 检查站点部署是否正确:http://192.168.1.159:83

img

站点检查

\2. 检查服务切片是否可以访问:

http://192.168.1.159:6080/arcgis/rest/services/SDFJGK_DS/MapServer?f=jsapi

http://192.168.1.159:6080/arcgis/rest/services/SDFJGK_DS/MapServer/tile/3/4/4

\3. 检查是否可以通过代理访问行政区划切片单元:

http://192.168.1.159:83/Proxy.ashx?http://192.168.1.159:6080/arcgis/rest/services/SDFJGK_DS/MapServer/tile/3/4/4?region=370200®iontype=1

# 2.5 代理服务地址参数说明

***网页******端***
http://192.168.1.159:83/Proxy.ashx?http://192.168.1.159:6080/arcgis/rest/services/SDFJGK_DS/MapServer/tile/3/4/4?region=370200®iontype=1region 和 regiontype 参数放到最后面,也可以放到代理地址后面,两者相同。
*移动******(安卓)***
http://192.168.1.159:83/Proxy.ashx?region=370200®iontype=1&http://192.168.1.159:6080/arcgis/rest/services/SDFJGK_DS/MapServer/tile/3/4/4region 和 regiontype 参数放到代理地址后面,因为移动端(安卓)参数无法加到 url 地址后

# 2.6 运维配置

# 2.6.1 添加蒙版服务

添加发布的蒙版服务(前面发布的切片服务)到服务列表。

img

添加蒙版服务

# 2.6.2 配置蒙版

按图上标注配置蒙版即可。如果图层组 or 要素图层下拉栏无选项,请替换 or 更新运维版本。

img

配置蒙版

# 2.6.3 可视范围目录结构生成

省级、市级、区县蒙版添加完毕后,进行行政区划代码入库操作。点击管理,获取行政区划代码,获取保存。按省级、市级、区县逐级保存。可同时查询表 MASK_REGION( select * from SYS_MASK_REGION t),以确定是否入库成功。

img

生成行政区划目录结构

# 2.6.4 分级管控权限配置

\1. 进入业务权限,添加蒙版权限,配置可视范围。以济南为例。权限名称:济南蒙版,权限类型为业务类权限。

img

业务权限配置

\2. 资源分配-分级分层-可视范围配置,勾选对应行政区域,点击保存。如果需要映射代理,分级分层中所有服务全部勾选。

img

资源分配

\3. 添加角色,角色名:济南市,显示名:市级蒙版权限,角色类型:业务类,确定生成角色。点击右侧分配权限,勾选济南市模板。

img

添加角色

\4. 点击权限分配模块,选择济南市规划局,勾选用户(济南),选择角色(济南市),批量授权。

img

批量授权

# 3 其他说明

\1. 部署完成并测试通过后,联系前后端开发,进行前后端版本修改。山东项目前端开发@黄震,后端开发@张永朋。

\2. 对于山东省厅项目的地图服务需要映射到互联访问的情况,系统某些功能需要的临时图层(未加到专题中),前端未能自动加上代理。可以添加到现有专题方案下,再由前端隐藏临时图层专题(需要运维授权,uiresource 接口才能获取到这些临时图层的地图服务)。

\3. 对于 SOE 服务与 API 接口,需要在配置文档中手动加代理,代理前缀如下:http://192.168.1.159:83/Proxy.ashx?region=all®iontype=1&

\4. IIS 下的 ISAPI 和 CGI 限制(如果有),将.net v4.0 设为允许。

\5. 运维不稳定经常报错,部分功能模块点击无响应,如蒙版获取行政区划代码报错、可视范围权限保存失败等,请联系联系开发@丁成文修复或者索要版本。

\6. 建议不对行政区划服务做可视范围限制,蒙版和行政区划服务使用同一数据源,会遮挡住边界(仅能看到内部边界线)。

\7. 发布地图切片必须是 png,发布级数要与底图一致。

\8. 修改了蒙版服务,需要取消可视范围配置的权限,重新授权。