作者:Dist 时间: 2020-10-16
该功能可实现专题图预览分层分级管控,地市(或市县)仅可见自己行政区域内的地图专题。如需在互联网环境预览专题图,可映射代理服务到互联网。
图 专题预览分级管控
安装 framwork4.0 或以上的版本。
l 确认所有地图服务坐标系,有**几套坐标系**,则发几套对应坐标系的行政区服务。
l 给行政区各区配不同的颜色,以便后面行政区切片图片处理。
l 行政区划服务中只能包含省、市、县中的**一个图层,服务中不能设置组图层**。
l 行政区划渲染颜色的字段是**行政区划代码,因为后台接口中返回的是行政区划代码,并且运维里授权都是行政区代码。切片类型必须是 PNG**。
l 发布行政区服务后,在浏览器中显示的行政区颜色,需要记录下各个行政区对应颜色 RGB 值,此处需要注意的是在 Arcmap 中配图颜色和浏览器中读取服务颜色 RGB 值不一样,此处需要记录的是**浏览器中读取地图得到的颜色。利用 chrome 打开\ConfigTool_ jqueryConfigTool_jquery.html 工具***获取行政区划服务的颜色。
\1. 缓存-切片方案-建议-高级设置,删除已有方案。
\2. 查看底图切片级数及比例尺:webapps\XXX\configs\WMTSConfig.json(以天地图为例)
"lods": [
{
"level": 2,
"resolution": 0.3515625,
"scale": 147748796.52937502 ## 复制天地图各级比例尺
}, 略
图 自定义切片方案
\3. 服务缓存生成之后,可以去 GIS 服务器提取生成的 xml 方案\arcgisserver\directories\arc giscache\SDFJGK_QS\图层\Conf.xml。
节点 | 节点说明 | 属性 | 说明 |
---|---|---|---|
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 颜色值) |
图 ***serverUrl******配置***
\1. serverUrl 中配置被代理的服务站点的用户名、密码、以及发布的都有哪些坐标系。
\2. 若是有两个坐标系,则需要将两个坐标系下的行政区划服务都要发布,并且添加到
图 ***RegionLayer******配置***
\1. RegionLayer 为一个管控级别,url 为行政区切片服务地址,RegionType 需要和开发人员沟通好,例如省级项目里,省级用户不管控,地市级 RegionType 定为 1,县级 RegionType 定为 2,以上以实际情况为准。
\2. RegionLayer 中配置被管控的层级,现在这里只是管控地市与区县(两个 RegionLayer),并且坐标系都是一致的。若是需要管控到乡镇的级别,需要在另一个 RegionLayer 中新增乡镇的服务。若是服务器中发布的服务有两个坐标系,也需要在另一个 RegionLayer 中新增区县的服务。
图 ***RegionConfigs******配置***
\3. RegionConfigs 里为各行政区信息,name 为行政区唯一标识,rgb 为渲染颜色值,一一对应。
图 ***Levels******配置***
\4. Levels 里包括各切片级别信息,起始行列号、比例尺。
图 ConfigTool_jquery 工具
\5. ***RegionConfigs 和 Levels******配置内容较多,可以通过 ConfigTool_jquery 小工具来通过服务 url 自动生成。用 chrome 打开 ConfigTool_jquery.html,输入行政区服务地址,点击执行(若是出错,将该文件拷贝到本机上面执行,c 盘有可能因为权限的问题,执行出错),将下面文本框中内容全部复制拷贝到 proxy.config 的对应节点下即可。***
\1. 将发布服务版本部署在 IIS 网站下,程序池采用 framwork4.0(或以上)。
图 网站发布
\2. 前台采用代理地址是:http://192.168.1.159:83/Proxy.ashx
\3. 单个测试页面地址:http://192.168.1.159:83/TestForm.aspx
\1. 检查站点部署是否正确:http://192.168.1.159:83
图 站点检查
\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=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 地址后 |
添加发布的蒙版服务(前面发布的切片服务)到服务列表。
图 添加蒙版服务
按图上标注配置蒙版即可。如果图层组 or 要素图层下拉栏无选项,请替换 or 更新运维版本。
图 配置蒙版
省级、市级、区县蒙版添加完毕后,进行行政区划代码入库操作。点击管理,获取行政区划代码,获取保存。按省级、市级、区县逐级保存。可同时查询表 MASK_REGION( select * from SYS_MASK_REGION t),以确定是否入库成功。
图 生成行政区划目录结构
\1. 进入业务权限,添加蒙版权限,配置可视范围。以济南为例。权限名称:济南蒙版,权限类型为业务类权限。
图 业务权限配置
\2. 资源分配-分级分层-可视范围配置,勾选对应行政区域,点击保存。如果需要映射代理,分级分层中所有服务全部勾选。
图 资源分配
\3. 添加角色,角色名:济南市,显示名:市级蒙版权限,角色类型:业务类,确定生成角色。点击右侧分配权限,勾选济南市模板。
图 添加角色
\4. 点击权限分配模块,选择济南市规划局,勾选用户(济南),选择角色(济南市),批量授权。
图 批量授权
\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. 修改了蒙版服务,需要取消可视范围配置的权限,重新授权。