一种利用百度地图API与ArcGIS的营销水表定位方法与流程

文档序号:24129813发布日期:2021-03-02 17:09阅读:495来源:国知局
一种利用百度地图API与ArcGIS的营销水表定位方法与流程
一种利用百度地图api与arcgis的营销水表定位方法
技术领域
[0001]
本发明提供了一种基于构建城市供水管网水力模型需求,利用百度地图api和arcgis平台根据营销水表地址信息将无坐标的营销水表批量定位到管网模型中的方法,属于市政工程管网信息技术领域。


背景技术:

[0002]
供水管网系统是城市的重要基础设施。随着我国经济的飞速发展和城镇化建设的规模的不断扩大,供水管网系统日益复杂,携带的信息量也日益增长,依靠经验进行维护、运行和管理的方法已无法满足管理科学化和现代化的需求。随着管网信息技术的发展,建立供水管网水力模型已经成为城市供水部门进行管网规划、运行管理和优化调度的现代技术方法,是城市供水系统现代化管理技术进步的重要发展方向。
[0003]
供水管网水力模型是一种以计算机软件系统为技术平台,通过管线、水源等基础数据搭建网络拓扑结构,通过营销系统的用户计费水表添加节点水量消费信息,最终通过求解管网基本方程组确定管网每一个组成部分的水力学参数,实现真实管网系统的水力仿真模拟的工具,它能够帮助运行管理人员详细了解管网在不同情况下的运行状态,为供水系统科学调度与管理提供依据。
[0004]
在管网水力模型建立过程中,节点水量的分配是重要的工作步骤,也是决定模型准确性的重要因素。使用watergems平台构建供水管网水力模型时,可以利用“需水量加载工具”将营销水表水量数据以点负荷数据通过“计费器集合”、“最近节点”或“最近管道”的方式在模型中进行分配,该方法简便快捷,同时经过工程实践验证具有可靠性,但使用该方法的前提是需要有完整的营销水表定位图层。
[0005]
通常大部分营销水表都是通过抄表计费的并不具备自动定位功能,营销系统会记录水表的地址信息但没有明确的地方坐标系下水表坐标数据,所以不能直接得到完整的营销水表图层文件。这种情况下,需要根据地址信息在当地坐标系下对营销水表进行定位,以保证后续模型中的水量分配得以成功进行。在地方坐标系下定位是因为城市的管网系统规划和设计都是在地方坐标系下完成的,只有将水表在同一坐标系下定位才能保证位置的相对正确性。本专利将提供一种利用百度地图api和arcgis平台根据营销水表地址信息将无坐标的营销水表批量定位到管网模型中的技术,同时由于地方坐标系的明确转换关系并不对外公布,所以该技术中还将涉及到标准投影坐标系与地方坐标系的模糊转换,最终实现营销水表在地方坐标系下的定位。


技术实现要素:

[0006]
本发明目的在于解决供水管网水力模型水量分配过程中普遍出现的营销水表没有完整的图层信息,影响用户水量数据在模型中进行自动分配的问题,为此提出了一种利用百度地图api和arcgis平台根据地址信息批量获取营销水表坐标信息,实现水表快速批量定位的方法。
[0007]
本发明的技术方案如下:
[0008]
一种利用百度地图api和arcgis平台根据营销水表地址信息将无坐标的营销水表快速批量定位到管网模型中的方法,该方法是首先利用百度地图与管网gis的图像相似性,将占比较少的大用户营销水表进行手动定位,然后使用python语言访问百度地图api正/逆地理编码,根据小用户营销水表地址信息批量获取百度地图经纬度坐标数据,并生成小用户营销水表点图层;使用python语言调用arcgis的arcpy站点包编写的坐标转换工具实现百度坐标系水表图层向wgs_1984坐标系水表图层的自动转换,利用arcgis投影工具箱将wgs_1984坐标数据在beijing_1954坐标系下进行投影;根据管网gis中的已知关键位置点(上、中、下、左、右)在当地坐标系下的坐标与beijing_1954坐标系下的坐标的偏差,将水表图层进行第一次平均偏移;选择待定位点中的一个位置特殊点,将该点位置的管线gis与百度地图进行比较,选择该点的期望位置并计算偏差,根据偏差将水表图层进行第二次精细化偏移,最终实现无坐标水表在当地坐标系下的批量定位。
[0009]
所述方法具体步骤如下:
[0010]
(1)地址信息标准化处理;
[0011]
首先将营销系统提供的水表的地址信息按照省/市/区/街道/门牌号进行尽可能准确的标准化处理,以便能够进行更精确的定位。
[0012]
(2)大用户营销水表手动定位;
[0013]
水量超过1000m3/h的营销水表属于大用户水表,大用户水表的位置对模型中水量分配的准确性具有非常重要的影响,应保证其在模型中的定位尽可能准确,而且一般情况下大用户数量并不多,因此对于这一部分水表最好手动进行定位。市政供水管网通常是沿道路进行铺设的,所以管网gis与当地的百度地图在图形上具有很大相似性,根据水表地址信息利用百度地图手动查找大用户的具体位置,将百度地图显示的位置与管网gis进行详细对比,可手动确定大用户水表的最佳位置。
[0014]
(3)访问百度地图api正/逆地理编码服务,批量获取营销水表百度坐标;
[0015]
(3.1)创建百度地图api平台密钥,进入“百度地图开放平台”官方网站进行账户创建,随后在“应用管理”中创建新的应用,启动正/逆地理编码服务,获取密钥ak;
[0016]
(3.2)使用python语言根据营销水表地址信息和百度地图正/逆地理编码服务网页构造访问网址url,利用已获取的ak进行小用户营销水表百度坐标的批量获取,ak的免费额度为30万次/天,可以基本满足定位数量的需求。
[0017]
(4)进行坐标系的转换;
[0018]
(4.1)根据获得的营销水表百度坐标,使用arcgis在无坐标系下将营销水表生成点图层文件,并命名为baidu.shp;
[0019]
(4.2)百度坐标系向wgs_1984坐标系转换;
[0020]
使用python语言调用arcgis的站点包arcpy制备的坐标转换工具,实现百度坐标系向wgs_1984坐标系的转换;
[0021]
wgs_1984为一种大地坐标系,也是目前广泛使用的gps全球卫星定位系统使用的坐标系。gcj_02是由中国国家测绘局制订的地理信息系统的坐标系统,是wgs_1984坐标系经加密后的坐标系,俗称火星坐标系。bd_09为百度坐标系,是在gcj_02坐标系基础上再次加密获得的。正/逆地理编码服务输入输出坐标类型为bd_09。因此将营销水表的百度坐标
转化为wgs_1984坐标的流程为:bd_09

gcj_02

wgs_1984;
[0022]
(4.3)wgs_1984坐标系向beijing_1954坐标系下投影;
[0023]
具体投影步骤为:打开arcgis工具箱

数据管理工具

投影和变换

投影

按要求依次填写输入数据集、输入坐标系、输出数据集和输出坐标系。
[0024]
最终得到投影后的图层beijing_1954.shp,打开该图层的属性表,添加字段x和y,使用“计算几何”功能,将投影后的坐标分别计算入x和y中。
[0025]
(5)在beijing_1954坐标系下进行水表图层的偏移;
[0026]
(5.1)第一次平均偏移;
[0027]
供水管网中存在一部分使用远传水表的用户,该类用户具有坐标信息,选取该类用户分布在模型中上、下、左、右、中五个可以用于定位的关键点,通过地址信息从百度在线地图获取百度坐标后再使用(4.2)坐标转换工具转换为wgs_1984坐标,然后对该坐标采用(4.3)步骤在beijing_1954进行投影,得到special_beijing_1954.shp图层,和对应的坐标x和y数值,将x和y与当地坐标系下坐标x_local和y_local的平均偏差记为e
x
和e
y

[0028][0029]
其中1,2,3,4,5对应上、下、左、右、中五个关键点。
[0030]
根据计算得出的平均偏差对beijing_1954.shp图层进行x和y坐标的重新计算得到x_move1和y_move1:
[0031][0032]
最终根据偏移后坐标x_move1和y_move1得到第一次平均偏移后点图层beijing_1954_move1.shp。
[0033]
(5.2)第二次精细化偏移;
[0034]
选取beijing_1954_move1.shp中的一个特殊点,根据地址信息在百度在线地图中进行定位,详细比对该位置的百度地图与管网gis,将该点重新定位到管网gis与百度地图中显示的最接近的位置——期待位置,期待位置的确定方法实际上与大用户水表手动定位的方法一致,将该点在beijing_1954_move1.shp中的坐标记为x_special和y_special,同时将该点期待位置的坐标记为x_expect和y_expect,再次计算位置偏差e
xx
和e
yy

[0035][0036]
根据计算得出的特殊位置偏差对beijing_1954_move1.shp点图层进行坐标序列x_move1和y_move1的重新计算得到x_move2和y_move2:
[0037][0038]
最终根据偏移后坐标序列x_move2和y_move2得到第二次精细化偏移后图层beijing_1954_move2.shp。
[0039]
采用本发明所述的方法,能够根据营销系统提供的用户水表地址信息对大用户营销水表进行相对准确的定位,同时能够批量获取小用户水表的坐标信息,而且通过两次坐标偏移可以在不知道当地坐标系换算方法的情况下对该类水表实现比较准确的定位,为后续模型进行水量分配创造了条件,另外该方法通过制备的坐标转换工具,能够做到一劳永逸,很大程度减轻了今后进行水表图层更新的负担,同时可以避免使用大量人工操作造成的误差。将地理信息技术与管网建模技术相结合,采用更加科学化的技术手段获取管网建模信息符合管网建模发展的方向。
附图说明
[0040]
图1是利用百度地图api和arcgis平台根据营销水表地址信息将无坐标的营销水表快速批量定位到管网模型中的方法的流程示意图。
[0041]
图2为特殊点管线gis图(a)与百度地图(b)。
[0042]
图3为距离误差频次分布直方图。
具体实施方式
[0043]
下面结合实施例对本发明作进一步说明,但本发明并不限于以下实施例。
[0044]
坐标转换工具的制备:使用python语言调用arcgis的站点包arcpy,编写坐标转换脚本文件transfer.py,制作坐标转换脚本工具,根据明确的加密规则可以准确的实现坐标系转换,将这一转换规则编写为脚本工具在gis中使用可实现图层文件简单快捷的坐标系自动转换。
[0045]
在arcgis中添加脚本工具的具体步骤为:新建工具箱(transfer_tool)

添加脚本

添加编写完成的脚本文件transfer.py

添加参数名称与类型([input_point_file,shapefile]、[transfer_type,字符串])。
[0046]
实施例1
[0047]
实例为便于进行定位精度比较选择了500个具有当地坐标和地址信息的水表,进行该方法的测试和验证。另假设大用户水表的手动定位已经完成且这500块水表都不是大用户水表。
[0048]
(1)对地址信息进行标准化处理,表1给出部分处理完成的地址信息表1处理后的标准化地址
[0049]
tab1.standardized address after processing
[0050][0051]
(2)访问百度地图api正/逆地理编码服务,根据处理后的地址信息批量获取营销水表百度坐标,以500个点为例,获取坐标的过程需要花费25s。根据百度坐标在arcgis中生
成点图层baidu.shp。截取表1中所列位置获取的百度坐标如下:
[0052]
表2水表的百度坐标
[0053]
tab2.the baidu coordinates of the water meter
[0054][0055]
(3)进行坐标系的转换,首先使用已编写完成的坐标转换工具transfer_tool将百度坐标转换为wgs_1984坐标,随后使用arcgis中的投影工具在beijing_1954坐标系下进行投影,得到点图层beijing_1954.shp。
[0056]
(4)选取上、中、下、左、右5个关键位置的点,计算在图层beijing_1954.shp中的坐标与当地真实坐标的平均偏差(e
x
,e
y
),并按此平均偏差将该图层进行第一次平均偏移,生成点图层beijing_1954_move1.shp。注意:真正操作中这5个点是与待定位点无关,只是拥有真实坐标和地址信息的点,可将这5个点生成special_beijing_1954.shp来用,研究中因为使用带有真实坐标的水表进行操作以便验证精度,所以省略了special_beijing_1954.shp的制作。本研究因不能泄露点位的真实坐标所以不便明确给出这一偏差值和点位图。
[0057]
(5)选取待定位点中的一个特殊位置,将该位置的管线gis与百度地图进行比较,由于供水管道大多与道路走向一致,所以可模糊估计出点位更准确的位置。如图2所示,图2的(a)中引出箭头的圈中的点显示了水表在管网gis中的位置,对比图2的(b)该位置的百度地图可明显观察到,这一点位应在所属小区的右上角,大致在两条管线的对角线上,据此判断可将该点位向其期待点位(图2的a中箭头所指的圈所示位置)进行偏移,计算红蓝两点间的偏差(e
xx
,e
yy
),将整个图层按照此偏差进行第二次精细化偏移,生成最终的点图层beijing_1954_move2.shp。
[0058]
(6)最终误差情况。本实施例中500个水表经过百度坐标的获取、坐标系的转换,以及坐标位置的平均偏移和精细化偏移,最终与真实位置的距离平均差值为206m,最大距离偏差为612m,最小距离偏差为13m。图3给出距离误差频次分布直方图。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1