CN105205841B - 地理信息系统的地图生成方法和系统 - Google Patents

地理信息系统的地图生成方法和系统 Download PDF

Info

Publication number
CN105205841B
CN105205841B CN201510518499.XA CN201510518499A CN105205841B CN 105205841 B CN105205841 B CN 105205841B CN 201510518499 A CN201510518499 A CN 201510518499A CN 105205841 B CN105205841 B CN 105205841B
Authority
CN
China
Prior art keywords
road
point
points
coordinates
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510518499.XA
Other languages
English (en)
Other versions
CN105205841A (zh
Inventor
李洪研
王巍巍
段晓辉
刘阳
杨光
朱琰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRSC Communication and Information Group Co Ltd CRSCIC
Original Assignee
CRSC Communication and Information Group Co Ltd CRSCIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CRSC Communication and Information Group Co Ltd CRSCIC filed Critical CRSC Communication and Information Group Co Ltd CRSCIC
Priority to CN201510518499.XA priority Critical patent/CN105205841B/zh
Publication of CN105205841A publication Critical patent/CN105205841A/zh
Application granted granted Critical
Publication of CN105205841B publication Critical patent/CN105205841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开一种地理信息系统的地图生成方法和系统,上述方法包括:获取地理信息系统中道路的已知坐标点信息和道路两侧的物体的信息;根据道路的已知坐标点的信息,采用贝塞尔曲线对道路进行插值平滑处理,计算贝塞尔插值点的信息;根据获取的道路两侧的物体信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算物体的坐标;输出包括经过插值平滑处理后的道路的信息、物体的类型和计算出的物体的坐标的地图。上述系统包括信息获取模块、道路插值平滑处理模块、物体坐标计算模块和地图生成模块。上述方法和系统能够有效提高地图的精确性。

Description

地理信息系统的地图生成方法和系统
技术领域
本发明涉及地理信息系统领域,尤其涉及一种地理信息系统的地图生成方法和系统。
背景技术
近年来,随着地理信息系统及其图形技术的快速发展,作为地理信息系统中的重要组成部分,道路及其附近的物体越来越多地被展示在图形界面上。然而,由于测量成本、分次测量、测量遗漏等原因,地理信息系统中的道路测量点往往比较稀疏,而且道路周边物体的坐标信息也经常出现不完整的现象,严重影响相关物体在地图上标注的准确性。而重新组织大规模的重新测量不仅会显著升高地理信息系统的成本,还有可能对相关地点的交通带来安全隐患。
目前在地理信息系统中采用较多的是直接使用测量点标注道路,对于道路附近的其他物体,根据线性插值和坐标平移计算其坐标数据。该方法无法充分利用已知数据中蕴含的信息,难以保证坐标计算的准确性,导致地理信息系统的数据记录和图形绘制出现较大的误差。
发明内容
基于此,有必要提供一种能够充分利用已知数据的信息精确计算坐标等信息的地理信息系统的地图生成方法。
一种地理信息系统的地图生成方法,包括以下步骤:
获取地理信息系统中道路的已知坐标点的信息和位于所述道路两侧的物体的信息;所述道路两侧的物体的信息包括物体的类型;
根据所获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息;
根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标;
输出地图,所述地图中包括经过所述插值平滑处理的所述道路的信息、所述道路两侧的物体的类型和计算出的所述道路两侧的物体的坐标;所述经过所述插值平滑处理的所述道路的信息包括所述道路的已知坐标点的信息和贝塞尔插值点的信息。
在其中一个实施例中,所述道路的已知坐标点的信息包括所述道路的已知坐标点的坐标和里程数;
所述位于所述道路两侧的物体的信息包括所述物体的每个已知坐标点的里程数和所述物体的每个已知坐标点到对应的道路的距离和所述物体的类型;
所述贝塞尔插值点的信息包括所述贝塞尔插值点的坐标和里程数。
在其中一个实施例中,所述道路的已知坐标点的坐标为平面直角坐标或经纬度坐标;
所述贝塞尔插值点的坐标为平面直角坐标或经纬度坐标。
在其中一个实施例中,所述根据所获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息步骤包括:
根据所获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标;
根据计算出的所述贝塞尔控制点计算所述道路的贝塞尔插值点的坐标和里程数。
在其中一个实施例中,所述根据所获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标步骤包括:
通过公式:
计算所述道路的任意三个相邻的已知坐标点的两个中点的坐标;其中,(x[i-1],y[i-1])、(x[i],y[i])、(x[i+1],y[i+1])分别为所述道路中的一个道路上第i-1个、第i个、第i+1个已知坐标点的坐标,(xmid_1[i],ymid_1[i])为第i-1个、第i个已知坐标点的中点的坐标;(xmid_2[i],ymid_2[i])为第i个和第i+1个已知坐标点的中点的坐标;
通过公式:
计算在以所述两个中点为端点构成的第一线段上,按照所述任意三个相邻的已知坐标点构成的两个第二线段的长度比例分割所述第一线段的分割点坐标;其中,xmid[i]和ymid[i]为所述分割点的坐标;
按照所述分割点到与所述分割点对应的所述已知坐标点的路径,将以所述第一线段平移,并按照贝塞尔控制系数kcontral,以与所述分割点对应的所述已知坐标点为中心对所述第一线段进行缩放,得到所述第一线段缩放后的端点坐标为:
其中,(xcontral_1[i],ycontral_1[i])和(xcontral_2[i],ycontral_2[i])为位于所述任意三个相邻的已知坐标点之间的所述贝塞尔控制点的坐标;
计算出所述道路的所有所述贝塞尔控制点。
在其中一个实施例中,位于所述道路的起点已知坐标点与所述起点已知坐标点相邻的已知坐标点之间的所述贝塞尔插值点的坐标,及所述道路的终点已知坐标点与所述终点已知坐标点相邻的已知坐标点之间的所述贝塞尔插值点的坐标为:
其中,j1=1,......,nbezier-1,np为所述道路的已知坐标点的数量,nbezier为所述道路的任意两个相邻的已知坐标点之间的所述贝塞尔插值点的数量;
位于所述道路的其他已知坐标点之间的各个所述贝塞尔插值点的坐标为:
其中,j1=1,......,nbezier-1,xbezier[i1][j1]、ybezier[i1][j1]为所述道路的第i1个线段的第j1个所述贝塞尔插值点的坐标,且所述道路的任意两个相邻的已知坐标点之间的所述道路为一个所述线段。
在其中一个实施例中,所述道路的各个贝塞尔插值点的里程数为:
其中,lbezier[i2][j2]为所述道路的第i2个线段的第j2个所述贝塞尔插值点的坐标,且所述道路的任意两个相邻的已知坐标点之间的所述道路为一个所述线段,l[i2]为所述道路的第i2个已知坐标点的里程数,l[i2+1]为所述道路的第i2+1个已知坐标点的里程数,坐标为(xbezier[i2][j2],ybezier[i2][j2])的所述贝塞尔插值点位于各个所述道路上第i2个已知坐标点和第i2+1个已知坐标点之间,sumi2为所述道路的任意两个相邻已知坐标点的距离,sumi2_1为所述道路的第i2个已知坐标点到坐标为(xbezier[i2][j2],ybezier[i2][j2])的贝塞尔插值点之间的距离总和,且
nbezier为所述道路的两个相邻的已知坐标点之间的所述贝塞尔插值点的数量,j2=1,......,nbezier-1。
在其中一个实施例中,若所述道路两侧的物体的类型为点状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标;
根据计算出的所述投影点的坐标计算所述点状物体的实际坐标。
在其中一个实施例中,将所述点状物体的里程数与所述道路上的已知坐标点的里程数和各个所述贝塞尔插值点的里程数对比:
若所述点状物体的里程数与所述道路上的已知坐标点和各个所述贝塞尔插值点中的一个已知点的里程数相等,则所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标为所述已知点的坐标;
否则,通过以下公式计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标:
其中,为所述点状物体的里程数,位于两个所述已知点的里程数l*[i3]和l*[i3+1]之间,两个所述已知点的坐标分别为(x*[i3],y*[i3])和(x*[i3+1],y*[i3+1]),所述已知点为所述道路上的已知坐标点或与所述道路对应的各个所述贝塞尔插值点。
在其中一个实施例中,若经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来共有个点,各点按照里程数顺序的序号分别为0,…,其中道路起点序号为0,道路终点序号为
若所述点状物体的里程数等于经过所述插值平滑处理后的所述道路的起点的里程数,则所述点状物体的实际坐标为:
若所述点状物体的里程数等于经过所述插值平滑处理后的所述道路的终点的里程数,则所述点状物体的实际坐标为:
其中,为经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来的总点数,
若所述点状物体的里程数等于除了所述道路的起点和终点外的一个所述已知点的里程数,则所述点状物体的实际坐标为:
若所述点状物体的里程数位于两个相邻的所述已知点的里程数之间,则所述点状物体的实际坐标为:
其中,(xnew,ynew)为所述点状物体的实际坐标,dnew表示所述点状物体与所述道路之间的距离。
在其中一个实施例中,若所述道路两侧的物体的类型为线状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点坐标;
计算所述线状物体的两个端点和所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标。
在其中一个实施例中,若所述道路两侧的物体的类型为二维形状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述道路上的已知坐标点在所述二维形状物体的边界上的投影点坐标;
计算所述二维形状物体的边界上的已知坐标点和所述道路上的已知坐标点在所述二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
本发明还公开一种地理信息系统的地图生成系统,包括信息获取模块、道路插值平滑处理模块、物体坐标计算模块和地图生成模块;
所述信息获取模块,被配置以获取地理信息系统中道路的已知坐标点的信息和位于所述道路两侧的物体的信息;所述道路两侧的物体的信息包括物体的类型;
所述道路插值平滑处理模块,被配置以根据所述信息获取模块获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息;
所述物体坐标计算模块,被配置以根据所述信息获取模块获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标;
所述地图生成模块,被配置以输出地图,所述地图中包括经过所述插值平滑处理的所述道路的信息、所述道路两侧的物体的类型和计算出的所述道路两侧的物体的坐标;所述经过所述插值平滑处理的所述道路的信息包括所述道路的已知坐标点的信息和贝塞尔插值点的信息。
在其中一个实施例中,所述道路插值平滑处理模块包括贝塞尔控制点计算单元和贝塞尔插值点计算单元;
所述贝塞尔控制点计算单元,被配置以根据所述信息获取模块获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标;
所述贝塞尔插值点计算单元,被配置以根据计算出的所述贝塞尔控制点计算所述道路的贝塞尔插值点的坐标和里程数。
在其中一个实施例中,所述物体坐标计算模块包括投影点坐标计算单元和物体处理单元;
若所述道路两侧的物体的类型为点状物体,则所述投影点坐标计算单元,被配置以计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标;所述物体处理单元,被配置以根据计算出的所述投影点的坐标计算所述点状物体的实际坐标;
若所述道路两侧的物体的类型为线状物体,则所述投影点坐标计算单元,被配置以计算所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点坐标;所述物体处理单元,被配置以计算所述线状物体的两个端点和所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标;
若所述道路两侧的物体的类型为二维形状物体,则所述投影点坐标计算单元,被配置以计算所述道路上的已知坐标点在所述二维形状物体的边界上的投影点坐标;所述物体处理单元,被配置以计算所述二维形状物体的边界上的已知坐标点和所述道路上的已知坐标点在所述二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
上述地理信息系统的地图生成方法和系统,能够充分挖掘地理信息系统中已有数据中的信息,采用贝塞尔曲线计算道路的贝塞尔插值点的信息,从而对道路进行插值平滑处理,并利用道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,精确计算出道路两侧的物体的坐标,从而最大程度的利用地理信息系统中已知数据的信息,有效提高地理信息系统中道路两侧物体坐标计算的精确性,因此能够有效提高地图的精确性。
附图说明
图1为本发明地理信息系统的地图生成方法一个实施例的流程示意图;
图2为本发明地理信息系统的地图生成方法一个实施例中的根据所获取的道路的已知坐标点的信息,采用贝塞尔曲线对道路进行插值平滑处理,计算道路的贝塞尔插值点的信息步骤的流程示意图;
图3为本发明地理信息系统的地图生成方法实施例一中的根据所获取的道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算道路两侧的物体的坐标步骤的流程示意图;
图4为本发明地理信息系统的地图生成方法实施例二中的根据所获取的道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算道路两侧的物体的坐标步骤的流程示意图;
图5为本发明地理信息系统的地图生成方法实施例三中的根据所获取的道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算道路两侧的物体的坐标步骤的流程示意图;
图6为本发明地理信息系统的地图生成系统一个实施例的结构示意图;
图7为本发明地理信息系统的地图生成系统一个实施例中的道路插值平滑处理模块的结构示意图;
图8为本发明地理信息系统的地图生成系统一个实施例中的物体坐标计算模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明地理信息系统的地图生成方法和系统的具体实施方式进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,一个实施例中,本发明地理信息系统的地图生成方法包括以下步骤:
S100,获取地理信息系统中道路的已知坐标点的信息和位于道路两侧的物体的信息。
其中,从地理信息系统中获取的道路的已知坐标点的信息包括道路的已知坐标点的坐标和里程数。从地理信息系统中获取的道路两侧的物体的信息包括物体的每个已知坐标点的里程数和物体的每个已知坐标点到对应的道路的距离。
具体的,可以从地理信息系统的数据库中依次读取道路上的每个已知坐标点的坐标和里程数。其中,每个已知坐标点的坐标可以为平面直角坐标或经纬度坐标。已知坐标点的里程数为从该已知坐标点所在的道路上的里程为零的端点,延该道路行驶到该已知坐标点的距离。
同样的,可以从地理信息系统的数据库中依次读取道路两侧的物体的每个已知坐标点的里程数、物体的每个已知坐标点到对应的道路的距离和物体的类型。
一个实施例中,地理信息系统可以为预存有各个道路的已知坐标点的信息和位于各个道路两侧的物体的信息的数据库。
S200,根据所获取的道路的已知坐标点的信息,采用贝塞尔曲线对道路进行插值平滑处理,计算道路的贝塞尔插值点的信息。
作为一种可实施方式可采用二阶贝塞尔曲线和三阶贝塞尔曲线对道路的曲线进行插值平滑。
具体的,参见图2,步骤S200可以包括以下子步骤:
S210,根据所获取的道路的已知坐标点的信息,计算道路的贝塞尔控制点的坐标。
在贝塞尔曲线中,贝塞尔曲线需要直接穿越的坐标点称为锚点。贝塞尔曲线不直接穿越,但是可以控制贝塞尔曲线方向的点称为控制点,也成贝塞尔控制点。本实施例中,道路的已知坐标点均为道路曲线必须穿越的锚点。对于贝塞尔控制点,可以通过以下步骤计算得出:
首先,通过公式:
计算道路的任意三个相邻的已知坐标点的两个中点的坐标。其中,(x[i-1],y[i-1])、(x[i],y[i])、(x[i+1],y[i+1])分别为道路中的一个道路上的第i-1个、第i个和第i+1个已知坐标点的坐标,(xmid_1[i],ymid_1[i])和(xmid_2[i],ymid_2[i])分别为两个中点的坐标。
然后,采用第一线段将两个中点(xmid_1[i],ymid_1[i])和(xmid_2[i],ymid_2[i])连接起来,并通过公式:
计算分割点的坐标xmid[i]和ymid[i]。其中,分割点位于第一线段上,将第一线段分割成两个第二线段,且两个第二线段的长度比例与该三个相邻的已知坐标点构成的两个线段的长度比例对应相等。该三个相邻的已知坐标点构成的两个线段为该三个相邻的已知坐标点所在的一个道路的两个线段。xmid[i]公式中的“其他”不全相等的情况表示x[i-1]、x[i]和x[i+1]不全相等的情况,同样ymid[i]公式中的“其他”不全相等的情况表示y[i-1]、y[i]和y[i+1]不全相等的情况。
接着,按照该分割点(xmid[i],ymid[i])到与该分割点对应的已知坐标点(x[i],y[i])的路径,将第一线段进行平移,并按照贝塞尔控制系数kcontral,以与分割点(xmid[i],ymid[i])对应的已知坐标点(x[i],y[i])为中心对第一线段进行缩放,得到第一线段缩放后的端点坐标为:
xcontral_1[i]=x[i]+(xmid_1[i]-xmid[i])·kcontral
ycontral_1[i]=y[i]+(ymid_1[i]-ymid[i])·kcontral
xcontral_2[i]=x[i]+(xmid_2[i]-xmid[i])·kcontral
ycontral_2[i]=y[i]+(ymid_2[i]-ymid[i])·kcontral
其中,(xcontral_1[i],ycontral_1[i])和(xcontral_2[i],ycontral_2[i])为位于该任意三个相邻的已知坐标点(x[i-1],y[i-1])、(x[i],y[i])和(x[i+1],y[i+1])之间的贝塞尔控制点的坐标。本实施例中,kcontral>0,且其数值越大,道路平滑处理后的拐角处越锐利。可以理解的,本领域技术人员可以根据实际需要的道路拐角锐利程度或平滑程度,选择合适的贝塞尔控制系数kcontral
对道路上除了首尾两个端点之外的其他已知坐标点重复上述操作,直至计算出所有已知坐标点对应的贝塞尔曲线控制点,并记录所有贝塞尔曲线控制点坐标。
可以理解的,一个道路被该道路上的各个已知坐标点分割成若干个线段,由于在计算贝塞尔控制点时,一个道路的任意两个相邻的线段之间的两个控制点,均位于同一个已知坐标点附近,且与该已知坐标点共线,因此能够保证各段分别计算出的贝塞尔曲线之间的平滑性。
S220,根据计算出的贝塞尔控制点计算道路的贝塞尔插值点的坐标和里程数。
一个道路上,由起点、终点两个已知坐标点与其相邻的已知坐标点所分割成的线段只拥有一个贝塞尔控制点,而由其他已知坐标点依次分割成的线段均有两个贝塞尔控制点。因此,在求取各个线段的贝塞尔插值点坐标时,对于起点、终点两个已知坐标点对应的首尾两个线段使用二阶贝塞尔曲线插值,对于其他线段使用三阶贝塞尔曲线插值。
首尾两个线段的贝塞尔插值点的坐标为:
其中,j1=1,......,nbezier-1,np为一个道路的已知坐标点的数量,nbezier为同一个道路的任意两个相邻的已知坐标点之间的贝塞尔插值点的数量。(xbezier[0][j1],ybezier[0][j1])为首线段的第j1个贝塞尔插值点的坐标,(xbezier[np-2][j1],ybezier[np-2][j1])为首尾线段的第j1个贝塞尔插值点的坐标。
其他线段的贝塞尔插值点的坐标为:
其中,j1=1,......,nbezier-1,xbezier[i1][j1]、ybezier[i1][j1]为一个道路的第i1个线段的第j1个贝塞尔插值点的坐标。本实施例中,一个道路的任意两个相邻的已知坐标点之间的道路为一个线段。
按照上述方法,计算道路的所有贝塞尔插值点。
以下计算道路上各个贝塞尔插值点的里程数,假设坐标为(xbezier[i2][j2],ybezier[i2][j2])的贝塞尔插值点位于道路上的第i2个已知坐标点和第i2+1个已知坐标点之间,而通过步骤S100可以获取到第i2个已知坐标点的里程数为l[i2],第i2+1个已知坐标点的里程数为l[i2+1]。
通过坐标数值计算道路上任意两个相邻已知坐标点的距离sumi2
其中,nbezier为道路的两个相邻的已知坐标点之间的贝塞尔插值点的数量。
然后计算从道路上第i2个已知坐标点到坐标为(xbezier[i2][j2],ybezier[i2][j2])的贝塞尔插值点之间的距离总和
则各个贝塞尔插值点的里程数为:
其中,lbezier[i2][j2]为道路的第i2个线段的第j2个贝塞尔插值点的坐标,j2=1,......,nbezier-1。
使用上述方法,计算道路上所有贝塞尔插值点的里程数,以及道路上所有贝塞尔插值点的里程数。
S300,根据所获取的道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算道路两侧的物体的坐标。
道路两侧的物体的类型可以包括点状物体、线状物体和二维形状物体。
对于道路两侧的物体的类型为点状物体的情况,可以利用插值后的道路上的各个已知点,以及点状物体对应道路的里程数及其与道路的距离,利用插值和坐标平移的方法更精确的计算出点状物体的实际坐标。参见图3,一个实施例中,步骤300可以包括以下具体子步骤:
S310,计算点状物体在经过插值平滑处理后的道路上的投影点的坐标。
对于里程数已知的点状物体,可以根据其里程数与道路上已知坐标点和贝塞尔插值点所组成的集合里的已知点里程数的比较,得到其在道路上的投影点的坐标。其中,已知点为道路上的所有已知坐标点和与道路对应的各个贝塞尔插值点组成的集合里的一个点,第i3个已知点的坐标为(x*[i3],y*[i3])。
具体的,可以将点状物体的里程数与道路上的已知坐标点的里程数和与当前各个贝塞尔插值点的里程数对比:
若点状物体的里程数与道路上的已知坐标点和各个贝塞尔插值点中的一个已知点的里程数相等,则点状物体在经过插值平滑处理后的道路上的投影点的坐标为已知点的坐标。
否则,通过公式:
计算点状物体在经过插值平滑处理后的道路上的投影点的坐标。其中,为点状物体的里程数,位于两个已知点的里程数l*[i3]和l*[i3+1]之间,两个已知点的坐标分别为(x*[i3],y*[i3])和(x*[i3+1],y*[i3+1])。已知点为该道路上的已知坐标点或与该道路对应的各个贝塞尔插值点。
S320,根据计算出的投影点的坐标计算点状物体的实际坐标。
可以采用dnew表示点状物体与该点状物体所在的道路之间的距离。且dnew为正值时,可以设定点状物体位于该道路从里程数零开始的方向(下行方向)的右侧。dnew为负值时,可以设定点状物体位于该道路从里程数零开始的方向(下行方向)的左侧。dnew为零时,可以设定点状物体正好位于该道路上。
对于点状物体在道路上的投影点,算法根据投影点位置的不同,采用不同的方法近似出投影点附近道路曲线的切线方向,从而可以将投影点向切线的垂线方向进行相应距离的坐标平移,由此得到点状物体的实际坐标。
若经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来共有个点,各点按照里程数顺序的序号分别为0,…,其中道路起点序号为0,道路终点序号为
具体的,若点状物体的里程数等于经过插值平滑处理后的道路的起点(x*[0],y*[0])的里程数,即点状物体的投影点坐标正好位于该道路的起点,投影点的切线方向即为经过插值平滑处理后的道路首段方向,点状物体的实际坐标为:
若点状物体的里程数等于经过插值平滑处理后的道路的终点 的里程数,即点状物体的投影点坐标正好位于该道路的终点,投影点的切线方向即为经过插值平滑处理后的道路末段方向,点状物体的实际坐标为:
其中,为经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来的总点数,
若点状物体的里程数等于经过插值平滑处理后的道路的除了起点和终点外的其他一个已知点(x*[i],y*[i])的里程数,即点状物体的投影点坐标也正好位于该已知点处,投影点的切线方向即为经过插值平滑处理后的道路在该已知点上下游两个相邻已知点的连线方向,点状物体的实际坐标为:
若点状物体的里程数等于经过插值平滑处理后的道路中的两个相邻的已知点(x*[i4],y*[i4])和(x*[i4+1],y*[i4+1])的里程数之间,其投影点位于两个相邻的已知点(x*[i4],y*[i4])和(x*[i4+1],y*[i4+1])之间,其切线方向为该两个相邻的已知点(x*[i4],y*[i4])和(x*[i4+1],y*[i4+1])的连线方向,点状物体的实际坐标为:
对于道路两侧的物体的类型为线状物体的情况,可以将插值后的道路上在其起点和终点里程数范围内的相关坐标点通过坐标平移投影在物体的曲线上,再利用贝塞尔曲线对起点、终点和投影点之间的曲线进行插值平滑,得到相关贝塞尔插值点的坐标,最终得到物体曲线的完整坐标信息。参见图4,一个实施例中,步骤300可以包括以下具体子步骤:
S330,计算道路上的已知坐标点在线状物体的两端端点之间的投影点坐标。
首先根据线状物体的起点的里程数和终点的里程数,确定道路上在线状物体的起点的里程数和终点的里程数之间的已知坐标点。对于确定出的每一个已知坐标点,采用步骤S310中的方法,计算确定出的每一个已知坐标点在线状物体上的投影点的坐标。
S340,计算线状物体的两个端点和道路上的已知坐标点在线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标。
将线状物体上的起点、终点和步骤S330中计算出的投影点视做已知点,采用步骤S210和S220中的方法,计算上述已知点两两之间的贝塞尔插值点坐标。
对于道路两侧的物体的类型为二维形状物体的情况,可以利用与线状物体相似的方法计算出其边界曲线的坐标信息,用边界曲线所包含的部分代表该二维形状物体。参见图5,一个实施例中,步骤300可以包括以下具体子步骤:
S350,计算道路上的已知坐标点在二维形状物体的边界上的投影点的坐标。
道路附近的二维形状物体具有明显的二维形状和边界,可以将其在二维平面上的边界视为一条曲线,然后使用步骤S330中的方法,计算道路上的已知坐标点在二维形状物体的边界上的投影点的坐标。
S360,计算二维形状物体的边界上的已知坐标点和道路上的已知坐标点在二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
由于边界曲线可以视为封闭曲线,因此其所有线段都可以使用三阶贝塞尔曲线进行插值平滑。最后使用插值平滑后的边界上的所有投影点和三阶贝塞尔曲线插值点的坐标代表该物体的坐标。
S400,输出地图,所述地图中包括经过插值平滑处理的道路的信息、道路两侧的物体的类型和计算出的道路两侧的物体的坐标。
其中,由于生成的地图中包括经过插值平滑处理后的道路的信息、道路两侧的物体的类型和计算出的道路两侧的物体的坐标,能够有效提高地图显示的精确性。其中,经过插值平滑处理后的道路的信息可以包括道路的已知坐标点的坐标和里程数以及贝塞尔插值点的坐标和里程数等信息。经过插值平滑处理后的道路的信息在地图中可以以道路曲线的形式显示出来,即步骤S200中的经过插值平滑处理后的道路曲线。
步骤S400中生成的地图,将道路及道路两侧物体的信息更加精确的呈现出,能够为用户对相关地区的布局规划和判断提供更好的依据,能够为用户处理道路沿线异常情况提供有力的依据,能够为实现道路沿线地区资源的自动化、信息化管理提供有力的信息支持。
可以理解的,本发明地理信息系统的地图生成方法中,所说的道路可以为一条道路,也可以为两条以上的道路。
上述地理信息系统的地图生成方法,充分挖掘地理信息系统中已有数据中的信息,以分段计算的方式得到道路曲线贝塞尔控制点,通过贝塞尔曲线对道路补充插值坐标点,从而使生成的地图中的道路显示效果更加平滑美观,且在利用里程数和距离等信息计算道路两侧物体坐标时,实现精确计算出道路两侧的点状物体、线状物体和二维形状物体的坐标的功能。另外,上述地理信息系统的地图生成方法可采用全自动运行模式,嵌入地理信息系统中,实现无人值守不间断自动计算,最大程度的利用已知数据中的信息,有效提高地理信息系统中道路两侧物体坐标计算的精确性,从而提高地图显示的精确性,并且能够避免重新测量所带来的人力、物理成本的上升和时间的消耗。
基于同一发明构思,本发明实施例提供一种地理信息系统的地图生成系统,由于此系统解决问题的原理与前述一种地理信息系统的地图生成方法相似,因此,该系统的实施可以按照前述方法的具体步骤实现,重复之处不再赘述。
参见图6,一个实施例中,本发明地理信息系统的地图生成系统包括信息获取模块100、道路插值平滑处理模块200、物体坐标计算模块300和地图生成模块400。其中:信息获取模块100,被配置以获取地理信息系统中道路的已知坐标点的信息和位于道路两侧的物体的信息。道路插值平滑处理模块200,被配置以根据信息获取模块100获取的道路的已知坐标点的信息,采用贝塞尔曲线对道路进行插值平滑处理,计算道路的贝塞尔插值点的信息。物体坐标计算模块300,被配置以根据信息获取模块100获取的道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,计算道路两侧的物体的坐标。地图生成模块400,被配置以输出地图,地图中包括经过插值平滑处理的道路的信息、道路两侧的物体的类型和计算出的道路两侧的物体的坐标。其中,道路的已知坐标点的信息包括道路的已知坐标点的坐标和里程数。道路两侧的物体的信息包括物体的每个已知坐标点的里程数、物体的每个已知坐标点到对应的道路的距离和物体的类型。贝塞尔插值点的信息包括贝塞尔插值点的坐标和里程数。经过插值平滑处理后的道路的信息可以包括道路的已知坐标点的坐标和里程数以及贝塞尔插值点的坐标和里程数等信息。
参见图7,一个实施例中,道路插值平滑处理模块200可以包括贝塞尔控制点计算单元210和贝塞尔插值点计算单元220。其中,贝塞尔控制点计算单元210,被配置以根据信息获取模块100获取的道路的已知坐标点的信息,计算道路的贝塞尔控制点的坐标。贝塞尔插值点计算单元220,被配置以根据计算出的贝塞尔控制点计算道路的贝塞尔插值点的坐标和里程数。
参见图8,一个实施例中,物体坐标计算模块300可以包括投影点坐标计算单元310和物体处理单元320。
若道路两侧的物体的类型为点状物体,则投影点坐标计算单元310,被配置以计算点状物体在经过插值平滑处理后的道路上的投影点的坐标。物体处理单元320,被配置以根据计算出的投影点的坐标计算点状物体的实际坐标。
若道路两侧的物体的类型为线状物体,则投影点坐标计算单元310,被配置以计算道路上的已知坐标点在线状物体的两端端点之间的投影点坐标。物体处理单元320,被配置以计算线状物体的两个端点和道路上的已知坐标点在线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标。
若道路两侧的物体的类型为二维形状物体,则投影点坐标计算单元310,被配置以计算道路上的已知坐标点在二维形状物体的边界上的投影点坐标。物体处理单元320,被配置以计算二维形状物体的边界上的已知坐标点和道路上的已知坐标点在二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
可以理解的,本发明地理信息系统的地图生成系统中,所说的道路可以为一条道路,也可以为两条以上的道路。
上述地理信息系统的地图生成系统,能够充分挖掘地理信息系统中已有数据中的信息,采用贝塞尔曲线计算道路的插值点的信息,从而对道路进行插值平滑处理,并利用道路两侧的物体的信息及道路的已知坐标点的信息和贝塞尔插值点的信息,精确计算出道路两侧的物体的坐标,从而最大程度的利用地理信息系统中已知数据的信息,有效提高地理信息系统中道路两侧物体坐标计算的精确性,有效提高地图显示的精确性,并且能够避免重新测量所带来的人力、物理成本的上升和时间的消耗。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种地理信息系统的地图生成方法,其特征在于,包括以下步骤:
获取地理信息系统中道路的已知坐标点的信息和位于所述道路两侧的物体的信息;所述道路两侧的物体的信息包括物体的类型;
根据所获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息;
根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标;
输出地图,所述地图中包括经过所述插值平滑处理的所述道路的信息、所述道路两侧的物体的类型和计算出的所述道路两侧的物体的坐标;所述经过所述插值平滑处理的所述道路的信息包括所述道路的已知坐标点的信息和贝塞尔插值点的信息。
2.根据权利要求1所述的地理信息系统的地图生成方法,其特征在于,所述道路的已知坐标点的信息包括所述道路的已知坐标点的坐标和里程数;
所述位于所述道路两侧的物体的信息包括所述物体的每个已知坐标点的里程数、所述物体的每个已知坐标点到对应的道路的距离和所述物体的类型;
所述贝塞尔插值点的信息包括所述贝塞尔插值点的坐标和里程数。
3.根据权利要求2所述的地理信息系统的地图生成方法,其特征在于,所述道路的已知坐标点的坐标为平面直角坐标或经纬度坐标;
所述贝塞尔插值点的坐标为平面直角坐标或经纬度坐标。
4.根据权利要求1所述的地理信息系统的地图生成方法,其特征在于,所述根据所获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息步骤包括:
根据所获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标;
根据计算出的所述贝塞尔控制点计算所述道路的贝塞尔插值点的坐标和里程数。
5.根据权利要求4所述的地理信息系统的地图生成方法,其特征在于,所述根据所获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标步骤包括:
通过公式:
<mrow> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </mfrac> </mrow>
<mrow> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </mfrac> </mrow>
<mrow> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </mfrac> </mrow>
<mrow> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mfrac> <mrow> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mn>2</mn> </mfrac> </mrow>
计算所述道路的任意三个相邻的已知坐标点的两个中点的坐标;其中,(x[i-1],y[i-1])、(x[i],y[i])、(x[i+1],y[i+1])分别为所述道路中的一个道路上第i-1个、第i个、第i+1个已知坐标点的坐标,(xmid_1[i],ymid_1[i])为第i-1个、第i个已知坐标点的中点的坐标;(xmid_2[i],ymid_2[i])为第i个和第i+1个已知坐标点的中点的坐标;
通过公式:
计算在以所述两个中点为端点构成的第一线段上,按照所述任意三个相邻的已知坐标点构成的两个第二线段的长度比例分割所述第一线段的分割点坐标;其中,xmid[i]和ymid[i]为所述分割点的坐标;
按照所述分割点到与所述分割点对应的所述已知坐标点的路径,将以所述第一线段平移,并按照贝塞尔控制系数kcontral,以与所述分割点对应的所述已知坐标点为中心对所述第一线段进行缩放,得到所述第一线段缩放后的端点坐标为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
其中,(xcontral_1[i],ycontral_1[i])和(xcontral_2[i],ycontral_2[i])为位于所述任意三个相邻的已知坐标点之间的所述贝塞尔控制点的坐标;
计算出所述道路的所有所述贝塞尔控制点。
6.根据权利要求5所述的地理信息系统的地图生成方法,其特征在于,位于所述道路的起点已知坐标点与所述起点已知坐标点相邻的已知坐标点之间的所述贝塞尔插值点的坐标,及所述道路的终点已知坐标点与所述终点已知坐标点相邻的已知坐标点之间的所述贝塞尔插值点的坐标为:
<mrow> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>2</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
<mrow> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>2</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
<mrow> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>2</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
<mrow> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>2</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>2</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <msub> <mi>n</mi> <mi>p</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>
其中,j1=1,......,nbezier-1,np为所述道路的已知坐标点的数量,nbezier为所述道路的任意两个相邻的已知坐标点之间的所述贝塞尔插值点的数量;
位于所述道路的其他已知坐标点之间的各个所述贝塞尔插值点的坐标为:
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> <mo>+</mo> <msub> <mi>x</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>3</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>3</mn> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>x</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> <mo>+</mo> <msub> <mi>y</mi> <mrow> <mi>c</mi> <mi>o</mi> <mi>n</mi> <mi>t</mi> <mi>r</mi> <mi>a</mi> <mi>l</mi> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>3</mn> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <mn>3</mn> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <mi>y</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>1</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <mi>j</mi> <mn>1</mn> </mrow> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mfrac> <mo>)</mo> </mrow> <mn>3</mn> </msup> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中,j1=1,......,nbezier-1,xbezier[i1][j1]、ybezier[i1][j1]为所述道路的第i1个线段的第j1个所述贝塞尔插值点的坐标,且所述道路的任意两个相邻的已知坐标点之间的所述道路为一个所述线段。
7.根据权利要求4所述的地理信息系统的地图生成方法,其特征在于,所述道路的各个贝塞尔插值点的里程数为:
<mrow> <msub> <mi>l</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>j</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>=</mo> <mi>l</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <mi>l</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <mi>l</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <msub> <mi>sum</mi> <mrow> <mi>i</mi> <mn>2</mn> <mo>_</mo> <mn>1</mn> </mrow> </msub> </mrow> <mrow> <msub> <mi>sum</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> </mrow> </mfrac> </mrow>
其中,lbezier[i2][j2]为所述道路的第i2个线段的第j2个所述贝塞尔插值点的坐标,且所述道路的任意两个相邻的已知坐标点之间的所述道路为一个所述线段,l[i2]为所述道路的第i2个已知坐标点的里程数,l[i2+1]为所述道路的第i2+1个已知坐标点的里程数,坐标为(xbezier[i2][j2],ybezier[i2][j2])的所述贝塞尔插值点位于各个所述道路上第i2个已知坐标点和第i2+1个已知坐标点之间,sumi2为所述道路的任意两个相邻已知坐标点的距离,sumi2_1为所述道路的第i2个已知坐标点到坐标为(xbezier[i2][j2],ybezier[i2][j2])的贝塞尔插值点之间的距离总和,且
<mrow> <msub> <mi>sum</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>......</mn> <mo>,</mo> <msub> <mi>n</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> </mrow> </munder> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <msup> <mo>)</mo> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> <mo>,</mo> </mrow>
<mrow> <msub> <mi>sum</mi> <mrow> <mi>i</mi> <mn>2</mn> <mo>_</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <munder> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>......</mn> <mi>j</mi> <mn>2</mn> </mrow> </munder> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>b</mi> <mi>e</mi> <mi>z</mi> <mi>i</mi> <mi>e</mi> <mi>r</mi> </mrow> </msub> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>&amp;lsqb;</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <msup> <mo>)</mo> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> <mo>,</mo> </mrow>
nbezier为所述道路的两个相邻的已知坐标点之间的所述贝塞尔插值点的数量,j2=1,......,nbezier-1。
8.根据权利要求7所述的地理信息系统的地图生成方法,其特征在于,若所述道路两侧的物体的类型为点状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标;
根据计算出的所述投影点的坐标计算所述点状物体的实际坐标。
9.根据权利要求8所述的地理信息系统的地图生成方法,其特征在于,将所述点状物体的里程数与所述道路上的已知坐标点的里程数和各个所述贝塞尔插值点的里程数对比:
若所述点状物体的里程数与所述道路上的已知坐标点和各个所述贝塞尔插值点中的一个已知点的里程数相等,则所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标为所述已知点的坐标;
否则,通过以下公式计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标:
<mrow> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>=</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msubsup> <mi>l</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>-</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>=</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>+</mo> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msubsup> <mi>l</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>-</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>l</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>3</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
其中,为所述点状物体的里程数,位于两个所述已知点的里程数l*[i3]和l*[i3+1]之间,两个所述已知点的坐标分别为(x*[i3],y*[i3])和(x*[i3+1],y*[i3+1]),所述已知点为所述道路上的已知坐标点或与所述道路对应的各个所述贝塞尔插值点。
10.根据权利要求9所述的地理信息系统的地图生成方法,其特征在于,若经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来共有个点,各点按照里程数顺序的序号分别为其中道路起点序号为0,道路终点序号为
若所述点状物体的里程数等于经过所述插值平滑处理后的所述道路的起点的里程数,则所述点状物体的实际坐标为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>-</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
若所述点状物体的里程数等于经过所述插值平滑处理后的所述道路的终点的里程数,则所述点状物体的实际坐标为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>-</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <msubsup> <mi>n</mi> <mi>p</mi> <mo>*</mo> </msubsup> <mo>-</mo> <mn>2</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
若所述点状物体的里程数等于除了所述道路的起点和终点外的一个所述已知点的里程数,则所述点状物体的实际坐标为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mn>4</mn> </msubsup> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mn>4</mn> </msubsup> <mo>-</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
其中,为经过插值平滑后的道路中已知坐标点和计算出来的贝塞尔插值点加起来的总点数,
若所述点状物体的里程数位于两个相邻的所述已知点的里程数之间,则所述点状物体的实际坐标为:
<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>x</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>+</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <msubsup> <mi>y</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>d</mi> </mrow> <mo>*</mo> </msubsup> <mo>-</mo> <msub> <mi>d</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mfrac> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>x</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>+</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> <mo>-</mo> <msup> <mi>y</mi> <mo>*</mo> </msup> <mo>&amp;lsqb;</mo> <mi>i</mi> <mn>4</mn> <mo>&amp;rsqb;</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mrow> <mn>1</mn> <mo>/</mo> <mn>2</mn> </mrow> </msup> </mfrac> </mrow> </mtd> </mtr> </mtable> <mo>;</mo> </mrow>
其中,(xnew,ynew)为所述点状物体的实际坐标,dnew表示所述点状物体与所述道路之间的距离。
11.根据权利要求7所述的地理信息系统的地图生成方法,其特征在于,若所述道路两侧的物体的类型为线状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点坐标;
计算所述线状物体的两个端点和所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标。
12.根据权利要求7所述的地理信息系统的地图生成方法,其特征在于,若所述道路两侧的物体的类型为二维形状物体,所述根据所获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标步骤包括:
计算所述道路上的已知坐标点在所述二维形状物体的边界上的投影点坐标;
计算所述二维形状物体的边界上的已知坐标点和所述道路上的已知坐标点在所述二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
13.一种地理信息系统的地图生成系统,其特征在于,包括信息获取模块、道路插值平滑处理模块、物体坐标计算模块和地图生成模块;
所述信息获取模块,被配置以获取地理信息系统中道路的已知坐标点的信息和位于所述道路两侧的物体的信息;所述道路两侧的物体的信息包括物体的类型;
所述道路插值平滑处理模块,被配置以根据所述信息获取模块获取的所述道路的已知坐标点的信息,采用贝塞尔曲线对所述道路进行插值平滑处理,计算所述道路的贝塞尔插值点的信息;所述物体坐标计算模块,被配置以根据所述信息获取模块获取的所述道路两侧的物体的信息及所述道路的已知坐标点的信息和贝塞尔插值点的信息,计算所述道路两侧的物体的坐标;
所述地图生成模块,被配置以输出地图,所述地图中包括经过所述插值平滑处理的所述道路的信息、所述道路两侧的物体的类型和计算出的所述道路两侧的物体的坐标;所述经过所述插值平滑处理的所述道路的信息包括所述道路的已知坐标点的信息和贝塞尔插值点的信息。
14.根据权利要求13所述的地理信息系统的地图生成系统,其特征在于,所述道路插值平滑处理模块包括贝塞尔控制点计算单元和贝塞尔插值点计算单元;
所述贝塞尔控制点计算单元,被配置以根据所述信息获取模块获取的所述道路的已知坐标点的信息,计算所述道路的贝塞尔控制点的坐标;
所述贝塞尔插值点计算单元,被配置以根据计算出的所述贝塞尔控制点计算所述道路的贝塞尔插值点的坐标和里程数。
15.根据权利要求13所述的地理信息系统的地图生成系统,其特征在于,所述物体坐标计算模块包括投影点坐标计算单元和物体处理单元;
若所述道路两侧的物体的类型为点状物体,则所述投影点坐标计算单元,被配置以计算所述点状物体在经过所述插值平滑处理后的道路上的投影点的坐标;所述物体处理单元,被配置以根据计算出的所述投影点的坐标计算所述点状物体的实际坐标;
若所述道路两侧的物体的类型为线状物体,则所述投影点坐标计算单元,被配置以计算所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点坐标;所述物体处理单元,被配置以计算所述线状物体的两个端点和所述道路上的已知坐标点在所述线状物体的两端端点之间的投影点之间的贝塞尔插值点坐标;
若所述道路两侧的物体的类型为二维形状物体,则所述投影点坐标计算单元,被配置以计算所述道路上的已知坐标点在所述二维形状物体的边界上的投影点坐标;所述物体处理单元,被配置以计算所述二维形状物体的边界上的已知坐标点和所述道路上的已知坐标点在所述二维形状物体的边界上的投影点之间的贝塞尔插值点坐标。
CN201510518499.XA 2015-08-21 2015-08-21 地理信息系统的地图生成方法和系统 Active CN105205841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510518499.XA CN105205841B (zh) 2015-08-21 2015-08-21 地理信息系统的地图生成方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510518499.XA CN105205841B (zh) 2015-08-21 2015-08-21 地理信息系统的地图生成方法和系统

Publications (2)

Publication Number Publication Date
CN105205841A CN105205841A (zh) 2015-12-30
CN105205841B true CN105205841B (zh) 2018-05-25

Family

ID=54953501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510518499.XA Active CN105205841B (zh) 2015-08-21 2015-08-21 地理信息系统的地图生成方法和系统

Country Status (1)

Country Link
CN (1) CN105205841B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106409129B (zh) * 2016-11-29 2019-02-05 北京掌行通信息技术有限公司 路况绘制方法及装置
CN110988947B (zh) * 2019-02-20 2020-09-22 以见科技(上海)有限公司 一种基于实时动态载波相位差分技术的增强现实定位方法
CN111767361A (zh) * 2020-07-06 2020-10-13 中电万维信息技术有限责任公司 一种基于贝塞尔曲线算法的gis应用
CN112562484B (zh) * 2020-11-24 2021-09-28 北京赛目科技有限公司 一种道路连贯处理方法及装置
EP4172563A4 (en) * 2021-09-17 2023-09-06 Morai Inc. METHOD FOR GENERATING ROAD TOPOLOGY INFORMATION AND SYSTEM THEREOF
CN115115789A (zh) * 2022-06-01 2022-09-27 合众新能源汽车有限公司 一种道路生成方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000063842A1 (de) * 1999-04-15 2000-10-26 Siemens Aktiengesellschaft Verfahren zum gewinnen einer realistischen strassenansicht und navigationsgerät
CN101218486A (zh) * 2005-07-22 2008-07-09 特拉戈公司 用于对道路网图进行建模的方法、装置及系统
CN101893443A (zh) * 2010-07-08 2010-11-24 上海交通大学 道路数字正射影像地图的制作系统
CN102157001A (zh) * 2011-04-14 2011-08-17 中国测绘科学研究院 一种电子地图绘制的方法及系统
CN102436678A (zh) * 2010-09-29 2012-05-02 比亚迪股份有限公司 一种三维道路模型生成方法及系统
CN102663802A (zh) * 2012-04-20 2012-09-12 北京像素软件科技股份有限公司 一种游戏地形道路生成方法和装置
DE102013200387A1 (de) * 2013-01-14 2014-07-17 Robert Bosch Gmbh Erstellung einer Hinderniskarte
CN104210439A (zh) * 2013-06-03 2014-12-17 现代自动车株式会社 使用车辆位置传感器数据生成道路地图的方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000063842A1 (de) * 1999-04-15 2000-10-26 Siemens Aktiengesellschaft Verfahren zum gewinnen einer realistischen strassenansicht und navigationsgerät
CN101218486A (zh) * 2005-07-22 2008-07-09 特拉戈公司 用于对道路网图进行建模的方法、装置及系统
CN101893443A (zh) * 2010-07-08 2010-11-24 上海交通大学 道路数字正射影像地图的制作系统
CN102436678A (zh) * 2010-09-29 2012-05-02 比亚迪股份有限公司 一种三维道路模型生成方法及系统
CN102157001A (zh) * 2011-04-14 2011-08-17 中国测绘科学研究院 一种电子地图绘制的方法及系统
CN102663802A (zh) * 2012-04-20 2012-09-12 北京像素软件科技股份有限公司 一种游戏地形道路生成方法和装置
DE102013200387A1 (de) * 2013-01-14 2014-07-17 Robert Bosch Gmbh Erstellung einer Hinderniskarte
CN104210439A (zh) * 2013-06-03 2014-12-17 现代自动车株式会社 使用车辆位置传感器数据生成道路地图的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Transforming GIS Data into Functional Road Models for Large-Scale Traffic Simulation;David Wilkie 等;《IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS》;20101031;第16卷(第5期);第1-14页 *
如何利用Google Earth绘制校园平面图——以湖北大学为例;朱超平 等;《测绘通报》;20080331;第30卷(第1期);第93-96页 *

Also Published As

Publication number Publication date
CN105205841A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105205841B (zh) 地理信息系统的地图生成方法和系统
US10627241B2 (en) Map-centric map matching method and apparatus
CN110389995B (zh) 车道信息检测方法、装置、设备和介质
CN106055794A (zh) 一种参数化建立三维管线模型的方法
CN112733318A (zh) 一种自适应网格细分方法、装置、设备及存储介质
CN111915700A (zh) 一种河流渐变图形生成方法及装置
US9443312B2 (en) Line parametric object estimation
CN110389992B (zh) 导航矢量数据的可视化方法、装置、设备及存储介质
WO2024098950A1 (zh) 水动力模型参数优化、水位流量变化过程模拟方法及装置
JP2006119927A (ja) パターンマッチング方法およびプログラム
Ko A survey: application of geometric modeling techniques to ship modeling and design
CN104008558A (zh) 贝塞尔曲线光栅化处理方法及系统
JP2006277712A (ja) 3次元モデルのフィッティング装置、方法及びプログラム
KR20130101332A (ko) 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법
CN103440434B (zh) 一种大规模混合网格等值线的计算方法及系统
CN112949358A (zh) 道路描述文件生成方法及设备
CN106373190B (zh) 基于稀疏散点数据的三维航道与切面显示方法
JP5083551B2 (ja) データ処理装置、外郭データ生成装置、データ処理プログラム、外郭データ生成プログラム
CN112857364B (zh) 一种管道imu检测数据的数据修正方法、系统和介质
CN115859129B (zh) 基于稀疏卫星定位的车辆行驶轨迹相似性度量方法及系统
CN112329165B (zh) 一种轮罩骨架方管弯曲回弹的建模方法、装置及设备
US9189573B2 (en) Methods and systems to synthesize terrain elevations under overpasses
JP2011210159A5 (ja) 画像処理方法、画像処理装置、及びプログラム
JP6727932B2 (ja) 点群面張りによる曲面生成装置および曲面生成用プログラム
JP3933964B2 (ja) パラメータ生成方法、パラメータ生成装置およびパラメータ生成プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Luo Jing

Inventor after: Li Hongyan

Inventor after: Wang Weiwei

Inventor after: Duan Xiaohui

Inventor after: Liu Yang

Inventor after: Yang Guang

Inventor after: Zhu Yan

Inventor before: Li Hongyan

Inventor before: Wang Weiwei

Inventor before: Duan Xiaohui

Inventor before: Liu Yang

Inventor before: Yang Guang

Inventor before: Zhu Yan