geometry数据的生成方法和装置与流程

文档序号:32690506发布日期:2022-12-27 17:20阅读:109来源:国知局
geometry数据的生成方法和装置与流程

1.本发明涉及计算机图形学技术领域,特别是涉及一种geometry数据的生成方法和装置。


背景技术:

2.矢量图,也称为向量图、面向对象的图像或绘图图像,指的是使用点、线、多边形等基于数学方程的几何图元素来表示图像。
3.矢量图文件中的图形元素称为对象,每个对象具有颜色、形状、轮廓、大小和屏幕位置等属性。
4.矢量图形的优点是,放大、缩小或旋转等不会使图像失真,常用于图案、标志、vi、文字等设计。常用软件有:coreldraw、illustrator、freehand、xara、cad等。
5.geometry是一种空间几何数据类型的存储格式,常用于描述空间几何信息,例如坐标点、坐标线、坐标面、三维信息等。常见的支持geometry的数据库有oracle、sqlserver、mysql、postgresql等。
6.随着geometry数据的应用越来越广泛(例如用于绘制室内建筑图、园区模型图、以及路径规划等),如何生成geometry数据是一个亟需解决的问题。
7.现有技术中,新建geometry数据的工作量非常大,需要就大量的点、线、面等分别标注其各项属性。目前没有能够快速方便的生成geometry数据的方法。


技术实现要素:

8.本发明解决的技术问题是:如何生成关于给定的点位附近地理位置的geometry数据。
9.为了解决上述技术问题,本发明实施例提供一种geometry数据的生成方法,包括:
10.获取关于各个点位地理位置的矢量图;
11.对所述矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面经变换后的矢量图的左上角为变换后的坐标系的原点;
12.从矢量图上获取各个点位在变换后的坐标系中的坐标;
13.响应于用户的操作,在经变换后的矢量图中获取用户所指定的第一点位;
14.根据第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标。
15.可选的,所述对所述矢量图进行变换包括:对矢量图进行旋转和/或平移。
16.可选的,根据以下方程来对所述矢量图进行变换:
17.x'=ax+by+c
18.y'=dx+ey+f
19.其中,x'表示经第一变换后的横坐标,y'表示经第一变换后的纵坐标,x表示变换
前在x轴上的坐标,y表示变换前在y轴上的坐标,c表示第一变换在x轴上的平移量,f表示第一变换在y轴上的平移量,a=cosα,b=-sinα,d=sinα,e=cosα,α为变换后的矢量图相对于变换前的矢量图顺时针旋转的角度。
20.可选的,还包括:响应于用户的操作,获取用户所指定的缩放比例;
21.根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以用户所指定的缩放比例作为待生成的地理位置数据相对于矢量图的缩放比例。
22.可选的,所述根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据采用以下算法:
[0023][0024]
其中,m表示矢量图缩放比例,lax表示第一点位的经度坐标,lay表示第一点位的纬度坐标,lx表示第一点位在经变换后的矢量图上横坐标,ly表示第一点位在经变换后的矢量图上纵坐标,p[n].ly、p[n].lx分别表示第n个点的经度和纬度,p[n].x、p[n].y分别表示第n个点在矢量图上的横坐标和纵坐标。
[0025]
为了解决上述技术问题,本发明实施例还提供一种geometry数据的生成装置,包括:
[0026]
处理器,适于加载并执行软件程序的指令;
[0027]
存储器,适于存储软件程序,所述软件程序包括用于执行以下步骤的指令:
[0028]
获取关于各个点位地理位置的矢量图;
[0029]
对所述矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面经变换后的矢量图的左上角为变换后的坐标系的原点;
[0030]
从矢量图上获取各个点位在变换后的坐标系中的坐标;
[0031]
响应于用户的操作,在经变换后的矢量图中获取用户所指定的第一点位;
[0032]
根据第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标。
[0033]
可选的,所述对所述矢量图进行变换包括:对矢量图进行旋转和/或平移。
[0034]
可选的,根据以下方程来对所述矢量图进行变换:
[0035]
x'=ax+by+c
[0036]
y'=dx+ey+f
[0037]
其中,x'表示经第一变换后的横坐标,y'表示经第一变换后的纵坐标,x表示变换前在x轴上的坐标,y表示变换前在y轴上的坐标,c表示第一变换在x轴上的平移量,f表示第一变换在y轴上的平移量,a=cosα,b=-sinα,d=sinα,e=cosα,α为变换后的矢量图相对于变换前的矢量图顺时针旋转的角度。
[0038]
可选的,还包括:响应于用户的操作,获取用户所指定的缩放比例;
[0039]
根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以用户所指定的缩放比例作为待生成的地理位置数据相对于矢量图的缩放比例。
[0040]
可选的,所述根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据采用以下算法:
[0041][0042]
其中,m表示矢量图缩放比例,lax表示第一点位的经度坐标,lay表示第一点位的纬度坐标,lx表示第一点位在经变换后的矢量图上横坐标,ly表示第一点位在经变换后的矢量图上纵坐标,p[n].ly、p[n].lx分别表示第n个点的经度和纬度,p[n].x、p[n].y分别表示第n个点在矢量图上的横坐标和纵坐标。
[0043]
与现有技术相比,本发明的技术方案具有以下有益效果:
[0044]
对矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面左上角为变换后的坐标系的原点;从矢量图上获取各个点位在变换后的坐标系中的坐标;以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标,根据用户所指定的第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据,从而基于矢量图来自动生成关于给点的地位附近地理位置的geometry数据,快速且方便,省去了就海量点位进行手动标注的繁琐操作,大幅度的节省了人力成本。
[0045]
进一步的,在生成geometry数据的过程中,同时还能够根据用户的需求直接生成比例缩放后的geometry数据。
附图说明
[0046]
图1为本发明实施例中geometry数据的生成方法流程图;
具体实施方式
[0047]
根据背景技术部分的分析可知,随着geometry数据的应用越来越广泛(例如用于绘制室内建筑图、园区模型图、以及路径规划等),如何生成geometry数据是一个亟需解决的问题。
[0048]
现有技术中,新建geometry数据的工作量非常大,需要就大量的点、线、面等分别标注其各项属性。目前没有能够快速方便的生成geometry数据的方法。
[0049]
本发明对矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面左上角为变换后的坐标系的原点;从矢量图上获取各个点位在变换后的坐标系中的坐标;以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标,根据用户所指定的第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据,从而基于矢量图来自动生成关于给点的地位附近地理位置的geometry数据,快速且方便,省去了就海量点位进行手动标注的繁琐操作,大幅度的节省了人力成本。
[0050]
为使本领域技术人员更好地理解和实现本发明,以下参照附图,通过具体实施例进行详细说明。
[0051]
实施例一
[0052]
如下所述,本发明实施例提供一种geometry数据的生成方法。采用该方法能够实现矢量图快速生成基于地理位置的json数据。
[0053]
在程序中读取该矢量图,并将其图中点位信息自动进行初始化设置,指定任意一个点位的经纬度信息与缩放比例,可自动生成整张图的geometry数据。
[0054]
参照图1所示的geometry数据的生成方法流程图,以下通过具体步骤进行详细说明:
[0055]
s101,获取关于各个点位地理位置的矢量图。
[0056]
s102,对所述矢量图进行变换。
[0057]
其中,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面经变换后的矢量图的左上角为变换后的坐标系的原点。
[0058]
在一些实施例中,所述对所述矢量图进行变换包括:对矢量图进行旋转和/或平移。
[0059]
具体的,在一些实施例中,根据以下方程来对所述矢量图进行变换(用于矢量图点位信息重排布的算法):
[0060]
x'=ax+by+c
[0061]
y'=dx+ey+f
[0062]
其中,x'表示经第一变换后的横坐标,y'表示经第一变换后的纵坐标,x表示变换前在x轴上的坐标,y表示变换前在y轴上的坐标,c表示第一变换在x轴上的平移量,f表示第一变换在y轴上的平移量,a=cosα,b=-sinα,d=sinα,e=cosα,α为变换后的矢量图相对于变换前的矢量图顺时针旋转的角度。
[0063]
s103,从矢量图上获取各个点位在变换后的坐标系中的坐标。
[0064]
s104,响应于用户的操作,在经变换后的矢量图中获取用户所指定的第一点位。
[0065]
s105,根据第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来
生成关于第一点位附近地理位置的json数据。
[0066]
其中,以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标。
[0067]
上述geometry数据是按照geojson规范生成的,geojson属于json数据范畴。
[0068]
进一步的,在一些实施例中,在预先响应于用户的操作,获取用户所指定的缩放比例的情况下,根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以用户所指定的缩放比例作为待生成的地理位置数据相对于矢量图的缩放比例。
[0069]
进一步的,所述根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据具体可以采用以下算法(用于根据点位信息生成geometry数据的算法):
[0070][0071][0072]
其中,m表示矢量图缩放比例,lax表示第一点位的经度坐标,lay表示第一点位的纬度坐标,lx表示第一点位在经变换后的矢量图上横坐标,ly表示第一点位在经变换后的矢量图上纵坐标,p[n].ly、p[n].lx分别表示第n个点的经度和纬度,p[n].x、p[n].y分别表示第n个点在矢量图上的横坐标和纵坐标。
[0073]
通过以上对技术方案的描述可以看出:本实施例中,对矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面左上角为变换后的坐标系的原点;从矢量图上获取各个点位在变换后的坐标系中的坐标;以矢量图中的横坐
标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标,根据用户所指定的第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据,从而基于矢量图来自动生成关于给点的地位附近地理位置的geometry数据,快速且方便,省去了就海量点位进行手动标注的繁琐操作,大幅度的节省了人力成本。
[0074]
进一步的,在生成geometry数据的过程中,同时还能够根据用户的需求直接生成比例缩放后的geometry数据。
[0075]
实施例二
[0076]
如下所述,本发明实施例提供一种geometry数据的生成装置。
[0077]
所述geometry数据的生成装置包括:
[0078]
处理器,适于加载并执行软件程序的指令;
[0079]
存储器,适于存储软件程序,所述软件程序包括用于执行以下步骤的指令:
[0080]
获取关于各个点位地理位置的矢量图;
[0081]
对所述矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面经变换后的矢量图的左上角为变换后的坐标系的原点;
[0082]
从矢量图上获取各个点位在变换后的坐标系中的坐标;
[0083]
响应于用户的操作,在经变换后的矢量图中获取用户所指定的第一点位;
[0084]
根据第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据;其中,以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标。
[0085]
通过以上对技术方案的描述可以看出:本实施例中,对矢量图进行变换,经变换后的矢量图的上方表示北面,下方表示南面,左边表示西面,右边表示东面左上角为变换后的坐标系的原点;从矢量图上获取各个点位在变换后的坐标系中的坐标;以矢量图中的横坐标对应于geometry数据中的经度坐标,以矢量图中的纵坐标对应于geometry数据中的纬度坐标,根据用户所指定的第一点位和各个点位在变换后的坐标系中的坐标,按照geojson规范来生成关于第一点位附近地理位置的json数据,从而基于矢量图来自动生成关于给点的地位附近地理位置的geometry数据,快速且方便,省去了就海量点位进行手动标注的繁琐操作,大幅度的节省了人力成本。
[0086]
在一些实施例中,所述对所述矢量图进行变换包括:对矢量图进行旋转和/或平移。
[0087]
在一些实施例中,根据以下方程来对所述矢量图进行变换:
[0088]
x'=ax+by+c
[0089]
y'=dx+ey+f
[0090]
其中,x'表示经第一变换后的横坐标,y'表示经第一变换后的纵坐标,x表示变换前在x轴上的坐标,y表示变换前在y轴上的坐标,c表示第一变换在x轴上的平移量,f表示第一变换在y轴上的平移量,a=cosα,b=-sinα,d=sinα,e=cosα,α为变换后的矢量图相对于变换前的矢量图顺时针旋转的角度。
[0091]
在一些实施例中,还包括:响应于用户的操作,获取用户所指定的缩放比例;
[0092]
根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照
geojson规范来生成关于第一点位附近地理位置的json数据;其中,以用户所指定的缩放比例作为待生成的地理位置数据相对于矢量图的缩放比例。
[0093]
在一些实施例中,所述根据第一点位、各个点位在变换后的坐标系中的坐标、以及缩放比例,按照geojson规范来生成关于第一点位附近地理位置的json数据采用以下算法:
[0094][0095]
其中,m表示矢量图缩放比例,lax表示第一点位的经度坐标,lay表示第一点位的纬度坐标,lx表示第一点位在经变换后的矢量图上横坐标,ly表示第一点位在经变换后的矢量图上纵坐标,p[n].ly、p[n].lx分别表示第n个点的经度和纬度,p[n].x、p[n].y分别表示第n个点在矢量图上的横坐标和纵坐标。
[0096]
本领域普通技术人员可以理解,上述实施例的各种方法中,全部或部分步骤是可以通过程序指令相关的硬件来完成的,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。
[0097]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1