CN110427449A - 一种在嵌入式设备中搜索地理位置信息的方法及*** - Google Patents
一种在嵌入式设备中搜索地理位置信息的方法及*** Download PDFInfo
- Publication number
- CN110427449A CN110427449A CN201910721918.8A CN201910721918A CN110427449A CN 110427449 A CN110427449 A CN 110427449A CN 201910721918 A CN201910721918 A CN 201910721918A CN 110427449 A CN110427449 A CN 110427449A
- Authority
- CN
- China
- Prior art keywords
- data
- document
- geographical location
- location information
- database
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 239000000284 extract Substances 0.000 claims description 12
- 241001269238 Data Species 0.000 claims description 4
- 239000003550 marker Substances 0.000 abstract description 9
- 230000000875 corresponding effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种在嵌入式设备中搜索地理位置信息的方法及***,首先计算机终端根据第一文档的经纬度坐标构建四叉树数据库结构后保存为第二文档,并压缩所述第二文档的体积后构建成数据库,由于压缩所述第二文档的体积后构建的数据库只存储了有效的信息和标识位,因此数据库体积非常小,能够将所述数据库导入到存储空间相对较小的嵌入式设备中,嵌入式设备可以获取目标位置的GPS坐标,根据所述目标位置的经纬度坐标,在所述数据库中搜索所述目标位置周边的地理位置服务信息。
Description
技术领域
本发明涉及嵌入式设备领域,具体涉及一种在嵌入式设备中搜索地理位置信息的方法及***。
背景技术
嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式***组成,它是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或微控制器(MCU)组成。相关支撑硬件包括显示卡、存储介质(ROM和RAM等)、通讯设备、IC卡或***的读取设备等。嵌入式***有别于一般的计算机处理***,它不具备像硬盘那样大容量的存储介质,而大多使用闪存(Flash Memory)作为存储介质。比如一种嵌入式设备产品,其CPU主频为600MHz,内存为64MB,磁盘为SPI Flash,容量为32MB。
目前一些嵌入式设备的ROM中存储有地理位置信息数据库,如GPS导航、DVR等嵌入式产品,嵌入式设备可以根据当前车辆所在位置,通过地理位置信息数据库,可以实时提供附近的加油站、维修点、停车场等信息,也可以实时提供当前路段是否有车辆速度限制、违规摄影拍照等信息。
目前的地理位置信息库多采用关系型数据库(比如Oracle、mySQL),但是关系型数据库多用于服务器设备,而嵌入式设备的硬件配置要远远低于服务器设备,采用关系型数据库的地理位置信息库应用于嵌入式设备,不仅能存储的地理位置信息非常少且搜索速度非常慢,因此采用关系型数据库的地理位置信息库并不适合嵌入式设备。可以看出,需要一种地理位置信息库,使其应用在嵌入式设备上能存储更多地理位置信息。
因此,现有技术还有待改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种在嵌入式设备中搜索地理位置信息的方法及***,旨在解决现有技术中地理位置信息数据库应用在嵌入式设备上能存储的地理位置信息较少的问题。
第一方面,本发明提供的一种在嵌入式设备中搜索地理位置信息的方法,其中,包括步骤:
预先通过四叉树计算机数据结构将地理位置信息构建成数据库;
将所述数据库导入到所述嵌入式设备中;
获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息。
进一步地,所述通过四叉树计算机数据结构将地理位置信息构建成数据库的步骤具体包括:
依次读取第一文档中每一行数据,提取所述第一文档中每一行数据的经度坐标和纬度坐标,并根据所述经度坐标和纬度坐标建立四叉树数据结构;
依次读取所述四叉树数据结构中的每一个节点,并存储到第二文档;其中,所述四叉树数据结构中的一个节点对应所述第二文档中的一行数据,所述第二文档中每一行数据格式均相同,所述第二文档中每一行数据均包括编号、四叉树存储区域、地理位置信息和当前节点的子节点;
依次读取所述第二文档中每一行数据,提取出地理位置信息和当前节点的子节点,组成复合数据,并根据所述复合数据构建数据库。
进一步地,所述依次读取第一文档中每一行数据,提取所述第一文档中每一行数据的经度坐标和纬度坐标,并根据所述经度坐标和纬度坐标建立四叉树数据结构的步骤之前还包括:
预先存储第一文档,其中,所述第一文档中每一行的数据格式均相同,所述第一文档中每一行的数据均包括经度坐标、纬度坐标。
更进一步地,所述第一文档中每一行的数据均还包括地理位置服务信息,所述地理位置服务信息包括行驶方向角度、限速速度值或摄像头类型中的一种或多种。
更进一步地,所述四叉树数据结构包括根节点、非叶子节点和叶子节点,一个所述叶子节点存储有所述第一文档中一行数据。
更进一步地,所述依次读取所述第二文档中每一行数据,提取出地理位置信息和当前节点的子节点,组合成复合数据,生成数据库的步骤具体包括:
依次读取所述第二文档中每一行数据,提取每一行数据中的地理位置信息和当前节点的子节点,并检测每一行数据中的地理位置信息和当前节点的子节点中是否至少有一个子数据不为0;
若是,则将所述地理位置信息和当前节点的子节点组合,得到复合数据,并设置标识位;
将得到的所有复合数据,构建成数据库。
进一步地,所述获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置信息的步骤具体包括:
获取目标位置的GPS坐标,得到所述目标位置的经度坐标和纬度坐标;
根据所述经度坐标和纬度坐标,在所述数据库中搜索与所述经度坐标和纬度坐标相对应的复合数据,并输出所述复合数据中的地理位置服务信息。
第二方面,本发明提供的一种在嵌入式设备中搜索地理位置信息的***,其中,包括终端以及与所述终端通讯连接的嵌入式设备,所述终端用于预先通过四叉树计算机数据结构将地理位置信息构建成数据库,并将所述数据库导入到所述嵌入式设备中;所述嵌入式设备用于获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息。
相较于现有技术,本发明提供了一种在嵌入式设备中搜索地理位置信息的方法及***,首先计算机终端根据第一文档的经纬度坐标构建四叉树数据库结构后保存为第二文档,并压缩所述第二文档的体积后构建成数据库,由于压缩所述第二文档的体积后构建的数据库只存储了有效的信息和标识位,因此数据库体积非常小,能够将所述数据库导入到存储空间相对较小的嵌入式设备中,嵌入式设备可以获取目标位置的GPS坐标,根据所述目标位置的经纬度坐标,在所述数据库中搜索所述目标位置周边的地理位置服务信息。
附图说明
图1为本发明提供的在嵌入式设备中搜索地理位置信息的方法的流程图。
图2为本发明具体实施例中第一文档中部分行数据示意图。
图3为本发明具体实施例中在计算机内存中建立四叉树数据结构的根节点示意图。
图4为本发明具体实施例中在根节点上存放A坐标点示意图。
图5为本发明具体实施例中在根节点上存放A、B坐标点示意图。
图6为本发明具体实施例中第二文档中部分行数据示意图。
具体实施方式
本发明提供了一种在嵌入式设备中搜索地理位置信息的方法及***,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明提供的一种在嵌入式设备中搜索地理位置信息的方法,参见图1,包括以下步骤:
S10、预先通过四叉树计算机数据结构将地理位置信息构建成数据库;
具体来说,四叉树是一种树状数据结构,在每一个节点上会有四个子区块,四叉树常应用于二维空间数据的分析与分类,它将数据区分成为四个区域,数据范围可以是方形或矩形或其他任意形状。
鉴于四叉树数据结构的特点,可以根据经度坐标和纬度坐标将地理位置信息划分为四个区域,如此构建出地理位置信息数据库。与采用关系型数据库构建出的地理位置信息数据库相比,在存储相同数量的地理位置信息的情况下,采用四叉树数据结构构建的地理位置信息数据库的体积相对会小非常多,且根据经纬度坐标进行搜索的速度也会快非常多。
进一步地,步骤S10具体包括:
S101、预先存储第一文档,其中,所述第一文档中每一行的数据格式均相同,所述第一文档中每一行的数据均包括经度坐标、纬度坐标;
更进一步地,所述第一文档中每一行的数据均还包括地理位置服务信息,所述地理位置服务信息包括行驶方向角度、限速速度值或摄像头类型中的一种或多种。
具体来说,第一文档为.txt或.csv的文件,可由excel表格转换而来,参见图2,第一文档中有多行数据(图中只是少部分数据)且每一行的数据格式均相同,每一行数据即代表一条地理位置信息,例如其中一行数据为35.660472 37.76329872 234 20 102 3,从左往右看,前两个数据分别为纬度坐边和经度坐标,234为行驶方向角度,20为行驶的限速速度值,最后两个数字表示摄像头的类型(例如固定式测速照相机)。
S102、依次读取第一文档中每一行数据,提取所述第一文档中每一行数据的经度坐标和纬度坐标,并根据所述经度坐标和纬度坐标建立四叉树数据结构;
更进一步地,所述四叉树数据结构包括根节点、非叶子节点和叶子节点,一个所述叶子节点存储有所述第一文档中一行数据。
具体来说,利用四叉树数据结构的特点,通过经度坐标和纬度坐标建立四叉树树数据结构,比如,同时参见图3-5,简述四叉树数据结构的建立:
参见图3,首先在计算机内存中建立四叉树数据结构的根节点root,若把北纬度用正数表示,南纬度用负数表示,则纬度范围为(-180,180),若把东经度用正数表示,西经度用负号表示,则经度范围为(-90,90),因此根节点就代表了整个地图平面,代表坐标范围为(-180,-90)至(180,90)这一矩形区域。
参见图4,接着计算机读取第一文档中的第一行数据,若第一行数据中的经纬度坐标为(35.660472,37.76329872),记这个坐标点为A,则A坐标点在根节点的矩形区域内,且由于此时根节点还没有存放数据,因此A坐标点可以存放在根节点中,即把第一文档的第一行数据都存入根节点中。
参见图5,接着计算机读取第一文档中的第二行数据,若第二行数据中的经纬度坐标为(35.6076454,22.201528),记这个坐标点为B,虽然B坐标点在根节点的矩形区域内,但由于根节点已经存放了A坐标点,不能再存放B坐标点,因此需要对根节点进行扩展,扩展出1、2、3、4四个子节点,即对根节点代表的矩形区域划分成1、2、3、4四个子矩形区域,然后重新存放A坐标点,由于A坐标点在编号为4的子矩形区域内,所以将A坐标点可以存放在编号为4的子矩形区域中,即存放在编号为4的子节点上。
接着,继续存放B坐标点,由于B坐标点也在编号为4的子矩形区域内,且由于编号为4的子节点已存放了A坐标点,因此需要对编号为4的子节点进行扩展,扩展出5、6、7、8四个子节点,即对编号为4的子节点的矩形区域划分成5、6、7、8四个子矩形区域,
然后重新存放A坐标点,由于A坐标点在编号为5的子矩形区域内,所以将A坐标点可以存放在编号为5的子矩形区域中,即存放在编号为5的子节点上。接着继续存放B坐标点,但还是由于B坐标点也在编号为5的子矩形区域内,因此需要再进行扩展(扩展过程不再赘述),最终将A坐标点存放在编号为11的子节点上,将B坐标点存放在编号为9的子节点上。
因此,计算机一边读取第一文档一行数据,一边根据这一行数据的经度坐标和纬度坐标建立四叉树数据结构,待把第一文档的最后一行数据读取完,与之相对应的四叉树数据结构也构建完成,为了不浪费存储资源,可以将构建好的四叉树数据结构暂时存储在内存中。最终,四叉树数据结构的就包括一个根节点root,众多非叶子节点和叶子节点(非叶子节点和叶子节点的数量与第一文档有多少行数据成正相关),且一个叶子节点存储有第一文档中的一行数据,比如参见图5,叶子节点9和11分别存储B和A,即叶子节点9存储有第一文档的一行数据,叶子节点11存储有第一文档的另一行数据,也可以看出,非叶子节点不存放数据(比如标号为5的非叶子节点)。
如此构建后的四叉树数据结构(可以理解为初步的地理位置信息数据库),若任意给定一个坐标(x,y),其中x为经度坐标,y为纬度坐标,可根据x和y在四叉树数据结构搜索出此坐标点相对应的叶子节点,换句话说就是查找此坐标点处于哪一个矩形区域内,进而获取此叶子节点存储的数据。可以看出,在四叉数数据结构中搜索的方式,可以理解为二维平面上的二分搜索,而在关系型数据结构中搜索的方式,要通过一层一层的关系搜索进而得到数据(简单理解就是多维度的搜索),因此,相比之下,在四叉数数据结构中搜索的方式搜索速度更快,在嵌入式设备如此低的配置(比如背景技术所述的产品)下,此搜索方式更简单高效,因此可以有效减少内存的占用;且由于此搜索方式,可以进一步的压缩数据,减小后续构建出的数据库的体积。
作为一种较优的实施方式,可以创建一个函数,计算机执行此函数时读取第一文档中一行数据,然后根据其经纬度坐标构建相对应的四叉树数据结构,但在函数内部中,当构建此四叉树数据结构完成后,再一次调用此函数,即递归函数调用(采用递归函数可以缩减代码并提高代码的可读性),即可依次读取第一文档中每一行数据,并构建四叉树数据结构,最后函数运行结束时,即可得到与第一文档相对应的四叉树数据结构,且暂时存储在计算机内存中。
S103、依次读取所述四叉树数据结构中的每一个节点,并存储到第二文档;其中,所述四叉树数据结构中的一个节点对应所述第二文档中的一行数据,所述第二文档中每一行数据格式均相同,所述第二文档中每一行数据均包括编号、四叉树存储区域、地理位置信息和当前节点的子节点;
具体来说,步骤S102得到的四叉树数据结构暂时存储在计算机内存中,需要把它存储起来,因此读取此四叉树数据结构中的每一个节点(包括根节点、非叶子节点和叶子节点),并存储到第二文档中,第二文档可以为.txt或.csv的文件。
参见图6,先读取根节点再保存第二文档中,比如第二文档中的第一行数据为0(-180000000 -90000000 180000000 90000000)(0 0 0 0 0 0 0 0 0 0)(0 0 0 1),从左往右看,最前面的0为编号,表示根节点存放在第二文档的第几行(行号从O开始编号);第一个括号内的数据为四叉树存储区域,表示此节点在四叉树数据结构中代表的矩形区域;第二个括号内的数据为地理位置信息,表示此节点存放的为前文中提到的经纬度和地理位置服务信息(由于根节点不存放数据,因此都为0);第三个括号内的数据为当前节点的子节点,表示当前节点下子节点的编号。
可以看出,读取完步骤S102得到的四叉树数据结构后,四叉树数据结构有多少个节点,第二文档中就有多少行数据,且每一行数据的格式均相同。此外还可以看出,若读取的节点为非叶子节点,由于非叶子节点不存放数据但有子节点,所以在第二文档中相对应的那一行数据中,第二个括号内的数据(即地理位置信息)就都为0,第三个括号内(即当前节点的子节点)则存放有数据;若读取的子节点为叶子节点,由于叶子节点存放数据但没有子节点,所以在第二文档中相对应的那一行数据中,第二个括号内的数据(即地理位置信息)则存放有数据,第三个括号内(即当前节点的子节点)就都为0。
S104、依次读取所述第二文档中每一行数据,提取出地理位置信息和当前节点的子节点,组成复合数据,并根据所述复合数据构建数据库。
进一步的,S104步骤具体包括:
S1041、依次读取所述第二文档中每一行数据,提取每一行数据中的地理位置信息和当前节点的子节点,并检测每一行数据中的地理位置信息和当前节点的子节点中是否至少有一个子数据不为0;
具体来说,在步骤S102构建四叉树数据结构的过程中,会不可以避免产生大量的空叶子节点(即没有存放数据的叶子节点),因此在步骤S103中的第二文档,这些空叶子节点都会有相对应的那一行数据,这写行数据不仅没用还占用存储空间,对于嵌入式设备有限的存储空间来说,很有必要过滤掉这些数据,以此来减小第二文档的体积,进而减小构建后的数据库的体积。
在S103步骤中,空叶子节点由于没有存放数据也没有孩子节点,因此不仅第二个括号内的数据(即地理位置信息)都为0,且第三个括号内的数据(即当前节点的子节点)都为0,因此可以检测第二文档中每一行数据的地理位置信息和当前节点的子节点,若这两部分的数据至少有一个不为0,即表示该行数据不为空叶子节点存储来的数据,需要保存下来。
S1042、若是,则将所述地理位置信息和当前节点的子节点组合,得到复合数据,并设置标识位;
S1043、将得到的所有复合数据,构建成数据库。
具体来说,若步骤S1041检测到该行数据有效(不为空叶子节点),则表示需要保存这一行数据,对于不满足这一条件的所有行数据(即代表空叶子节点)则不保存,因此可以有效减小构建后的第二文档体积,进而减小构建后的数据库的体积。
但是,在实际的产品应用中,限速违规摄影的地理位置信息,其数量多达100万条以上,如此庞大的数据量,如果不进一步压缩第二文档的体积,则构建出的数据库的体积仍然不小,对于嵌入式设备这么小的存储内存来说,构建的数据库只能舍弃一部分的限速和违规摄影的地理位置信息,因此,进一步压缩第二文档的体积显得非常有必要。
参见图6,在步骤S1041之后的第二文档保留的都是有效数据,此时非叶子节点对应的某一行数据比如为0(-180000000 -90000000 180000000 90000000)(0 0 0 0 0 0 00 0 0)(0 0 0 1),叶子节点对应的某一行数据为22(450000000 53437500 5062500056250000)(48733911 55607322 195 -1 -1 -1 -1 90 22 2)(0 0 0 0),编号表示这一行数据在文件中第二文档的行号,为非必要的数据,可以不保存;对于四叉树存储区域(第一个括号内的数据),在搜索的过程中可以动态的去计算每一节点所对应的矩形范围,因此四叉树存储区域也不需要保存;对于地理位置信息(第三个括号内的数据)和当前节点的子节点(第四个括号内的数据)为在搜索过程中必须需要的数据,需要保存且可以合并在一起存储,且由于每一行数据中,不是地理位置信息的数据都为0就是当前节点的子节点的数据都为0(原因见步骤S103的论述),因此需要设定一个标识位,以便在搜索过程中区分类型,优选用1来表示非叶子节点,用0表示叶子节点。
在步骤S1042之后,第二文档中每一行的数据就只有地理位置信息、当前节点的子节点和标识位,每一行的数据即为一个复合数据,最后将所有得到的复合数据,构建成地理位置信息数据库。
在一种实施例中,第一文档中有60万条左右的地理位置信息,经过S10步骤处理后得到的地理位置信息数据库(为.edb格式的文件),其体积在16-20MB之间,能够导入嵌入式设备使用。
S20、将所述数据库导入到所述嵌入式设备中;
具体来说,步骤S10构建的地理位置信息数据库,由于其在存储相同数量的地理位置信息的情况下体积更小,且由于嵌入式设备的存储容量非常小,因此其更适合嵌入式设备。将地理位置信息库导入嵌入式设备属于现有技术,此处不再赘述。
S30、获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息。
进一步地,步骤S30具体包括:
S301、获取目标位置的GPS坐标,得到所述目标位置的经度坐标和纬度坐标;
S302、根据所述经度坐标和纬度坐标,在所述数据库中搜索与所述经度坐标和纬度坐标相对应的复合数据,并输出所述复合数据中的地理位置服务信息。
具体来说,在步骤S20之后的嵌入式设备,嵌入式设备可以获取目标位置的GPS坐标(可以由GPS定位获得也可以由输入方式获得),进而获取其经度坐标和纬度坐标,把目标位置记为C坐标点。
嵌入式设备在数据库中搜索时,根据C坐标点的经纬度坐标,动态的计算复合数据(可以理解为节点)所对应的矩形范围,并判断此矩形区域是否包含C坐标点,然后根据此复合数据的标识位,判断此复合数据的类型,若为非叶子节点,则根据此非叶子节点的子节点进行下一级的搜索(此非叶子节点的子节点可能为叶子节点或非叶子节点);若为叶子节点,则停止搜索,并输出此复合数据中的地理位置服务信息(即为所述目标位置周边的地理位置服务信息)。
比如如图5所示,根据A坐标点搜索,先搜索第一个复合数据(即根节点),显然根节点代表的矩形区域包含A坐标点,由于第一个复合数据的标识位表示第一个复合数据为非叶子节点,因此继续搜索第一个复合数据的子节点,以此类推,最后搜索到编号为11的子节点相对应的复合数据,由于此复合数据的标识位表示此复合数据为叶子节点,最后输出此复合数据中的地理位置服务信息,由于此信息由第一文档中的地理位置服务信息所来,因此输出的信息包括行驶方向角度、限速速度值或摄像头类型中的一种或多种。
另外,当限速和违规摄影的地理位置信息数据量很大时(比如国内产品上大概有100万条左右),且GPS坐标的更新频率基本上是一秒一次,也就是说,嵌入式设备至多在一秒内要在这100万条数据中搜索出相关的数据。对于嵌入式设备如此低的CPU主频,若在数据库中(数据库所包含的数据量非常大)搜索时CPU使用率过大,则会降低搜索速度,导致输出的信息不具备实时性。因此,值得一提的是,由于四叉树数据库的数据结构和搜索时采用二维搜索的方式,本发明上述搜索方法根据坐标点的经度坐标和纬度坐标进行搜索时,可以在搜索时每搜索一个复合数据后释放此复合数据,因此嵌入式设备在数据库中搜索时不会占用太大的CPU,比如如图5所示搜索A坐标点时,先搜索根节点后释放根节点,再搜索编号为4的节点。在一种实施例中,经过S10步骤处理后得到的地理位置信息数据库有60万条地理位置信息,嵌入式设备的CPU主频为600MHz,当嵌入式设备根据一坐标点在此数据库中搜索时,CPU使用率在2%左右,搜索速度相对快。
与现有技术相比,本发明提供的一种在嵌入式设备中搜索地理位置信息的方法,首先计算机终端根据第一文档的经纬度坐标构建四叉树数据库结构后保存为第二文档,并压缩所述第二文档的体积后构建成数据库,由于压缩所述第二文档的体积后构建的数据库只存储了有效的信息和标识位,因此数据库体积非常小,能够将所述数据库导入到存储空间相对较小的嵌入式设备中,嵌入式设备可以获取目标位置的GPS坐标,根据所述目标位置的经纬度坐标,在所述数据库中搜索所述目标位置周边的地理位置服务信息。
第二方面,本发明提供的一种在嵌入式设备中搜索地理位置信息的***,其中,包括终端以及与所述终端通讯连接的嵌入式设备,所述终端用于预先通过四叉树计算机数据结构将地理位置信息构建成数据库,并将所述数据库导入到所述嵌入式设备中;所述嵌入式设备用于获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息,具体如上所述。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种在嵌入式设备中搜索地理位置信息的方法,其特征在于,包括步骤:
预先通过四叉树计算机数据结构将地理位置信息构建成数据库;
将所述数据库导入到所述嵌入式设备中;
获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息。
2.根据权利要求1所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述通过四叉树计算机数据结构将地理位置信息构建成数据库的步骤具体包括:
依次读取第一文档中每一行数据,提取所述第一文档中每一行数据的经度坐标和纬度坐标,并根据所述经度坐标和纬度坐标建立四叉树数据结构;
依次读取所述四叉树数据结构中的每一个节点,并存储到第二文档;其中,所述四叉树数据结构中的一个节点对应所述第二文档中的一行数据,所述第二文档中每一行数据格式均相同,所述第二文档中每一行数据均包括编号、四叉树存储区域、地理位置信息和当前节点的子节点;
依次读取所述第二文档中每一行数据,提取出地理位置信息和当前节点的子节点,组成复合数据,并根据所述复合数据构建数据库。
3.根据权利要求2所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述依次读取第一文档中每一行数据,提取所述第一文档中每一行数据的经度坐标和纬度坐标,并根据所述经度坐标和纬度坐标建立四叉树数据结构的步骤之前还包括:
预先存储第一文档,其中,所述第一文档中每一行的数据格式均相同,所述第一文档中每一行的数据均包括经度坐标、纬度坐标。
4.根据权利要求3所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述第一文档中每一行的数据均还包括地理位置服务信息,所述地理位置服务信息包括行驶方向角度、限速速度值或摄像头类型中的一种或多种。
5.根据权利要求2所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述四叉树数据结构包括根节点、非叶子节点和叶子节点,一个所述叶子节点存储有所述第一文档中一行数据。
6.根据权利要求2所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述依次读取所述第二文档中每一行数据,提取出地理位置信息和当前节点的子节点,组合成复合数据,生成数据库的步骤具体包括:
依次读取所述第二文档中每一行数据,提取每一行数据中的地理位置信息和当前节点的子节点,并检测每一行数据中的地理位置信息和当前节点的子节点中是否至少有一个子数据不为0;
若是,则将所述地理位置信息和当前节点的子节点组合,得到复合数据,并设置标识位;
将得到的所有复合数据,构建成数据库。
7.根据权利要求2所述在嵌入式设备中搜索地理位置信息的方法,其特征在于,所述获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置信息的步骤具体包括:
获取目标位置的GPS坐标,得到所述目标位置的经度坐标和纬度坐标;
根据所述经度坐标和纬度坐标,在所述数据库中搜索与所述经度坐标和纬度坐标相对应的复合数据,并输出所述复合数据中的地理位置服务信息。
8.一种在嵌入式设备中搜索地理位置信息的***,其特征在于,包括终端以及与所述终端通讯连接的嵌入式设备,所述终端用于预先通过四叉树计算机数据结构将地理位置信息构建成数据库,并将所述数据库导入到所述嵌入式设备中;所述嵌入式设备用于获取目标位置的GPS坐标,通过调用所述数据库搜索所述目标位置周边的地理位置服务信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721918.8A CN110427449B (zh) | 2019-08-06 | 2019-08-06 | 一种在嵌入式设备中搜索地理位置信息的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910721918.8A CN110427449B (zh) | 2019-08-06 | 2019-08-06 | 一种在嵌入式设备中搜索地理位置信息的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427449A true CN110427449A (zh) | 2019-11-08 |
CN110427449B CN110427449B (zh) | 2023-04-14 |
Family
ID=68412861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910721918.8A Active CN110427449B (zh) | 2019-08-06 | 2019-08-06 | 一种在嵌入式设备中搜索地理位置信息的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427449B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996199A (zh) * | 2009-08-20 | 2011-03-30 | 浙江省公众信息产业有限公司 | 一种基于嵌入式环境的gis引擎实现***及方法 |
CN102945261A (zh) * | 2012-10-20 | 2013-02-27 | 江苏大学 | 智能车载信息服务终端一键式目标搜索优化方法 |
US20180025028A1 (en) * | 2016-07-22 | 2018-01-25 | Adobe Systems Incorporated | Facilitating Location-Aware Analysis |
CN108628951A (zh) * | 2018-04-03 | 2018-10-09 | 苏州舆图数据科技有限公司 | 基于文档模型的空间数据块状组织存储与化简压缩方法 |
US20190220453A1 (en) * | 2016-08-31 | 2019-07-18 | Pointerra Technologies Pty Ltd | Method and system for storing and retrieving multi-dimensional data |
CN111367913A (zh) * | 2020-03-03 | 2020-07-03 | 青岛大学 | 一种面向全空间的数据模型的建模方法 |
-
2019
- 2019-08-06 CN CN201910721918.8A patent/CN110427449B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996199A (zh) * | 2009-08-20 | 2011-03-30 | 浙江省公众信息产业有限公司 | 一种基于嵌入式环境的gis引擎实现***及方法 |
CN102945261A (zh) * | 2012-10-20 | 2013-02-27 | 江苏大学 | 智能车载信息服务终端一键式目标搜索优化方法 |
US20180025028A1 (en) * | 2016-07-22 | 2018-01-25 | Adobe Systems Incorporated | Facilitating Location-Aware Analysis |
US20190220453A1 (en) * | 2016-08-31 | 2019-07-18 | Pointerra Technologies Pty Ltd | Method and system for storing and retrieving multi-dimensional data |
CN108628951A (zh) * | 2018-04-03 | 2018-10-09 | 苏州舆图数据科技有限公司 | 基于文档模型的空间数据块状组织存储与化简压缩方法 |
CN111367913A (zh) * | 2020-03-03 | 2020-07-03 | 青岛大学 | 一种面向全空间的数据模型的建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110427449B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061985B2 (en) | System and method for linking data records for parcels | |
CN111324679B (zh) | 地址信息的处理方法、装置和*** | |
CN106681996B (zh) | 确定地理范围内兴趣区域、兴趣点的方法和装置 | |
CN103412863A (zh) | 面向嵌入式设备的大容量矢量地图快速可视化实现方法 | |
US11966424B2 (en) | Method and apparatus for dividing region, storage medium, and electronic device | |
US20200193372A1 (en) | Information processing method and apparatus | |
CN103473238B (zh) | 配送地址定位***及方法 | |
EP3611468A1 (en) | Vector tile pyramiding | |
CN109492066B (zh) | 一种兴趣点分支名称的确定方法、装置、设备及存储介质 | |
CN107247791B (zh) | 停车场地图数据生成方法、装置和机器可读存储介质 | |
CN110472797A (zh) | 一种基于web的城市公交复杂网络自动化生成方法 | |
CN109859109A (zh) | 一种系列比例尺pdf地图无缝组织与显示方法 | |
CN113254559A (zh) | 一种基于地理信息***的设备选址方法 | |
CN109684425A (zh) | 保单用户地址匹配方法及装置 | |
CN113360789A (zh) | 兴趣点数据处理方法、装置、电子设备及存储介质 | |
US9116917B1 (en) | Augmenting a geographic information system | |
CN111859187A (zh) | 基于分布式图数据库的poi查询方法、装置、设备及介质 | |
CN108375806A (zh) | 气象地图的获取方法和装置 | |
CN110427449A (zh) | 一种在嵌入式设备中搜索地理位置信息的方法及*** | |
CN104156475B (zh) | 地理信息读取方法及装置 | |
CN109241207B (zh) | 一种在地图上显示数据的方法及装置 | |
CN112948517B (zh) | 区域位置标定方法、装置及电子设备 | |
CN111611337B (zh) | 终端数据处理*** | |
CN111382220A (zh) | 一种poi数据划分方法和装置 | |
CN108132992B (zh) | 一种人员信息基础地址编码方法、***及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method and system for searching geographic location information in embedded devices Granted publication date: 20230414 Pledgee: Shenzhen small and medium sized small loan Co.,Ltd. Pledgor: SHENZHEN APICAL TECHNOLOGY CO.,LTD. Registration number: Y2024980016140 |