自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 卡尔曼滤波

import randomimport matplotlib.pyplot as pltx_last = 0;p_last = 0.05; // 初始值不能为0,值大小无所谓,会随着迭代次数增加,值的变化和初始值无关。Q = 0.01; //预测误差,越大表示信任测量值,结果会更加随测量值的波动而波动。 越小表示信任预测模型,波动会更小。 //这个值一般设置小一点,否...

2019-04-10 17:10:12 212

原创 信息熵

熵理解问对事物不确定性的一个度量,简单来说,就是熵越大,我们对他越不确定。如果一件事情是100%确定无疑的,那么我们认为这件事情的熵为0。所以:1, 明天太阳会从东边升起。 这件事100%是真的,我们说熵为0.2,明天太阳从西边升起。这件事情0%是真的,我们说熵为0.(可以看出,熵是对不确定性的度量,而事情本身是真是假无关。)既然是越不确定,熵越大,那么什么情况熵会最大?我们来看看...

2019-04-09 14:56:25 502

原创 c++ 防坑记

1,vector中的item的地址不要传给外面,当vector增加一个item,可能引起vectore重新分配内存。这样前期如果你把item的地址给外面,外面得到的指针就完全失效了。正确的方法是告诉外面vector的下标,而不是item的地址。这样即使item的地址改变了,通过下标去实时获取到正确的地址。...

2019-04-04 17:03:54 148

原创 android中handler的理解

如何理解handler处理多线程问题。多线程问题,简单来说就是, activity运行在并且已经运行在了ui thread。如果我们有个耗时的工作(比如文件读取,从网络下载数据等等工作),我们不能让这个耗时的工作直接在ui thread中调用,而是通过开一个work thread, 在work thread中完成耗时工作。工作流程类似:在ui thread中运行,有个耗时工作,开wor...

2019-04-04 16:42:30 194

转载 android开源学习

https://blog.csdn.net/ming_147/article/details/80360132

2019-04-04 15:40:37 81

原创 理解sobel算子

一个函数的导数 dx = delt x / delt v, 就是x方向上的增量和 v方向增量的比值。(v方向我随便取的一个变量,主要是为了区别出一个方向), 把这个概念转换到图像上面,就是 像素值的增量 和 坐标方向增量的比值。(坐标方向我们总是取下一个像素,所以这个方向的增量可以认为总是为1,最终,像素值的增量就是导数,也叫做梯度)举例而言,有下面9个像素的图片:a b ...

2019-03-26 11:23:50 352

原创 近期的开发计划

近期打算整理下地图数据d

2014-10-09 13:27:15 669

原创 收集的一些有意思的c/c++代码

1,需要连续调用多个函数,任一个函数失败,直接返回失败。 下面的写法可以避免写很多if。{ bool result(true); result = result && getLinkId(link); result = result && getStartEndCoords(start, end); res...

2014-09-29 16:42:52 2495

原创 sqlite中fts的数据结构说明:segment Interior nodes

这个block(或者说node)

2014-08-27 17:47:31 697

原创 最近被要求把介绍NDS的文章删除。

靠,不给他们免费宣传了。设计的其实挺差的,

2014-07-28 12:13:46 623

翻译 数据划分

这一章讲解如何把地理数据映射到NDS database。我们首先需要了解NDS的坐标系统如何编码,tile如何划分。1, WGS84 和 EGM96     nds使用的是WGS84坐标系统(the World Geodetic System dating from 1984),就是平常我们说的经纬度。当我们说一个具体的位置的时候,就说这个问题位置的经度是多少,纬度是多少,这样就可以唯

2014-07-28 10:59:58 513

翻译 整体结构

介绍下Navigation Data Standard (so-called NDS databases)的架构,和其最重要的一些概念。,1,NDS Database and its Interfaces     NDS的数据可以称为是一个database,是被其标准文档所规范好的标准database。作为一个标准化的database,也就是你生产出来的NDS和别人生产出来的NDS,数

2014-07-28 10:58:27 577 1

翻译 r-tree

本文是根据篇讲解Full Text Search的文档整理的。       在导航需求中,有对目的地的全文查询。我们可以把一个地址看成是由多个word组成的document。这个document的结构可以是这样(state,city,street),举个例子来说(江苏,南京,人民路)。我们可以用标准的全文检索系统来存储这种docment,即 inverted indexes(倒排索引)。比如s

2014-07-28 10:57:20 138

原创 文章1

Navigation Data Standard - Format Specification用到的4个table表格。前2个table的内容由数据提供者来定义。并不是全球统一为一个。下面举的例子为样本数据中的内容。 1,SelectionMetadataTable:由数据提供者定义,每个region有一个这个表。描述了selection criterion的含义。name

2014-07-28 10:55:49 218

原创 postgresql数据库学习

在数据库中,现在都是指定为utf8来存储。

2014-05-13 09:16:15 851

原创 开了个工程,供自己学习使用

一直想自己开个工程,在github上创建了一个代码库,慢慢写些东西上传。      [email protected]:withc/nav-data.git      这个代码是重写search模块的数据编译。由于受到上下游的限制,特别是compiler部分,不想改动太大而影响上下游的变动。      以后会把这个项目会独立出来,上下游将重新设计,包括psf的设计,engien的编写等等。

2014-03-18 16:45:34 543

原创 python学习心得

最近开始学习python,感觉python和c,java,perl有些不同,现记录于此。python的变量都是应用,并且变量本身没有类型。比如a = 3a = 'spam'a = 1.23a = myclass()我们可以把不同的类型的对象,赋值给a,a都能接受。这点和其他语言很不一样,这点也为写python代码一些指导。a是一个变量,a本身没有类型说明,所有类型的

2014-02-20 12:07:16 691

原创 vim的基本够用操作

vim作为linux下的老牌编辑工具,有时候也不得不学习下。到目前为止,我基本上可以避免使用vim来编辑linux下的文本。如果本机是linux,当然装一个比如gedit这种编辑工具。如果是远程,都是通过samba共享,然后就可以像在本机一样进行编辑。不过这也不是长久之计。vim觉得还是要学习下。        最近通过putty链接到远程linux服务器时,想改下linux的一些文本文件,发

2014-02-13 10:15:30 581

原创 clucene(一):总体结构

先了解下文件结构:一个完整的数据集合对应到一个目录。也就是说,如果你想打开一个数据集合,传入一个目录名就可以了,这个目录下面所有的文件是一个整体。一个数据集合可以分成多个segment,一个segment对应了多个文件(这些文件的文件名相同,但是文件扩展名不同,也就是文件名表示这个文件属于哪个segement,扩展名表示这个文件存储了啥内容)。segment的文件名有固定的命名规则。一般从

2014-02-10 16:20:15 797

原创 准备写些clucene笔记

最近在看clucene的源码(不太会java,还是看c++的代码入门比较快。并且c++版本要简单些)。打算写点笔记记录下。       clucene最新的版本是2.3版本,我开始从这个版本看,代码优点多,不太好投入进去。先找了个0.8版本的clucene,这个版本果然简单多了,同时bug也比较多。这也是一个读源码的一个经验。从最早的一个版本来入门,速度上会快很多。        用vs2

2014-02-08 15:51:23 730

原创 vs2005字体设置的背景色的设置问题

终于找到问题所在了。同学们如果想把背景色设置成其他颜色,通过菜单上面的 tools->options. 在左边的框里面,  Environment的子选项中选择 Fonts and Colors右边框就是要设置的具体东西了。 先选择 font 为 “Courier New”这种字体,这个字体的优点就是所有字符的宽度都是一样宽,这样非常好对齐代码。再为Display items中选择

2014-01-28 15:51:59 2442

原创 检索模块的设计

在导航系统中,检索主要应用于poi的检索和address的检索,并且对检索的需求定义也是变化多段,不同的区域需求也是不尽相同。如何设计一个好的检索的模块,使之能够应用于各种变化的需求也是非常重要。          检索的需求是变化最多的,即使谈好的需求,到最后都会稍微的改变行为,有时改完了又要改回来,最后是2个不同的行为都需要,外面可以通过参数来选择。所以灵活的检索设计是非常有必要的。

2014-01-27 09:49:50 1341

原创 edit distance---计算2个单词之间的距离

在模糊匹配的时候,即使用户输入的单词错了,我们最好也能返回一些候选的结果给用户。这样就少不了需要一个算法来计算2个单词之间的距离。距离越近,我们认为这个单词更符合用户的输入。        计算2个单词之间的距离可以参考: http://en.wikipedia.org/wiki/Edit_distance        edit distance定义成:把一个单词,修改成另一个单词需要进

2014-01-26 17:50:00 1512

原创 TMC介绍

TMC由3个元素组成:一个叫location(类似于一个路口), 一个叫path(类似于从一个路口到下一个路口经过的一段道路)。location可以分成point location, line location和area location。path都有方向,分为positive direction 和 negative direction。一般从西到东和从南到北我们定义为正方向,反之为反方

2014-01-22 16:28:23 1576

原创 设计模式--Prototype(原型)

Prototype为一种创建型的设计模式。它定义了如何取创建对象。它在实现的时候,代码和factory区别不大。个人认为,所有的代码实现都查不多,就是继承和组合。     通过一个具体的例子可以导出为啥需要prototype的模式。只要不嫌麻烦,factory模式就可以完全满足所有的创建对象需求,但是针对特定的例子里面,factory显得太通用而效率不高。所以才有其他的创建型的模式出来。

2013-10-15 17:49:11 632

原创 数据分块:论导航路网数据如何分块

路网数据总是按照一块一块的小面积数据来存储,每一块称为一个网格,一个网格的数据相对较小,在使用的时候,按网格为单位对路网数据进行读取。我们如何对整个路网数据进行分块,这里分为2个方向:1,规整网格,即每个网格的面积大小都是一样的。这样考虑是网格的查找非常方便。这时候,我们按照一定的规则对每个网格进行编号。由于网格是规整的,网格号本身就能知道这个网格的具体包含的坐标范围,可以说查找的时间复杂度为

2013-09-11 11:00:38 1503 1

原创 数据分层:论导航中路网数据如何提层

在导航中,路网数据是最重要的数据类型。在实际的使用过程中,我们总是会对路网数据进行分层,高层的数据会更少,留下的道路也更重要。对长距离路径规划,使用高层路网数据可以加快数据的加载和路径的演算。同时,在大比例尺地图显示模块中,只显示最重要的道路,既能加快显示速度,也符合用户习惯。合理有效的分层可以大大提高导航软件的品质。       分层考虑的2个方面:      1,道路的等级是分层的时候

2013-09-05 14:15:35 1326 1

原创 再谈数据压缩

这里想再谈谈在存储导航数据中,用到的一些实用的压缩技巧。数据存储的时候,我们总是会按照一定的单元来存储。类似于一个一个的block,读取的时候,也是以block为单位进行读取。我们假设,1000条某种记录存储为一个block,对每条记录赋一个id(从0开始计数),我们可以通过id就可以读取到对应的记录信息。如何以最小的size来存储这1000条记录?1,如果记录是定长,比如每条记录为5

2013-09-03 08:55:01 761 1

原创 NVCtree中如何划分subtree

TBD

2013-08-19 11:28:15 1019 1

原创 bash学习要点

学习各种脚本,linux下开发,这些东西都离不开bash的学习。下面列了些bash在学习过程中的一些值得注意的要点。关于变量:1,bash中可以使用变量名,我们可以把变量名的解析看成字符串的替换,因为bash不是强类型语言。比如我们定义个变量:               var=54      其中变量名为var,它代表了字符串“54”,而不是一个整数54。bash中变量没有

2013-08-12 09:56:50 763

翻译 R-tree based Full Text Search(基于R-tree实现的全文检索)

本文是根据NDS中的一篇讲解Full Text Search的文档整理的。       在导航需求中,有对目的地的全文查询。我们可以把一个地址看成是由多个word组成的document。这个document的结构可以是这样(state,city,street),举个例子来说(江苏,南京,人民路)。我们可以用标准的全文检索系统来存储这种docment,即 inverted indexes(倒排索

2013-07-30 10:37:39 437 2

翻译 Partitioning of Geographic Data(数据划分)

这一章讲解如何把地理数据映射到NDS database。我们首先需要了解NDS的坐标系统如何编码,tile如何划分。1, WGS84 和 EGM962, Coding of Coordinate(坐标编码)3,Tiling Scheme(网格划分)    3.1 Tile and Levels    3.2 Tile and Clipping    3.3 Tile C

2013-07-29 11:14:27 2822

原创 sqlite中fts的数据结构说明:segment leaf nodes

注释文件的说明,**** Segment leaf nodes ****** Segment leaf nodes store terms and doclists, ordered by term.  Leaf** nodes are written using LeafWriter, and read using LeafReader (to** iterate through

2013-07-16 11:29:00 1164

翻译 Architecture of NDS(Navigation Data Standard)

介绍下Navigation Data Standard (so-called NDS databases)的架构,和其最重要的一些概念。,1,NDS Database and its Interfaces     NDS的数据可以称为是一个database,是被其标准文档所规范好的标准database。作为一个标准化的database,也就是你生产出来的NDS和别人生产出来的NDS,数

2013-07-15 11:32:55 1537

原创 给sqlite加个了vs2005的工程

没地方上次工程,晕

2013-07-15 10:12:29 685

原创 设计模式6

Template Method模式我们讲的前面很多模式的思路都是使用组合,而不用继承。并且也提到了一个设计原则“优先使用组合”。但是这个模式就是一个使用继承来解决问题的思路。毕竟,继承也不是一无是处。在有些系统中,一个事务的完成需要通过一系列的步骤,就是第一步干什么,第二步干什么。这个步骤的序列是固定的(就是行业标准流程),并且在将来也不会改变,也没必要改变。但是每一步的具体实现对不同平台

2013-07-15 09:54:33 494

原创 设计模式5

Decorator模式我觉得这个模式有点绕。需要很仔细的来分清其中的继承关系。Decorator模式的使用场景:当你要描述一个东西,比如说“人”这个东西,你回构建一个人的class,它包括很多人的属性,比如身高,体重,性别,年龄等等,你还有很多的施加于“人”上面的方法,比如吃饭,睡觉,跑步等等。但是,你可能希望给“人”添加一些额外的东西,就像游戏中的人物一样,他是带装备,比如“黄金盔甲”,

2013-07-15 09:53:52 535

原创 设计模式4

Observer模式这个模式理解起来应该算很简单。定义了一种1对多的关系。当其中“1”描述的对象变化时,“多”描述的多个对象都能得到通知并且被自动更新。我们把“1”称为subject,“多”称为observer。如何让他们之间发生关系。使用组合。在subject中,我们拥有一个observer引用的列表,和3个成员函数,addObserver( observer* ),   添加一

2013-07-15 09:53:31 478

原创 设计模式3

strategy模式这个模式和bridge模式很类似。我说的类似是具体实现上的类似,都是把算法组合为类的成员,但是背后考虑问题的思路确不同。所以看很多介绍书籍上举出的例子,你会觉得都可以来说明这2种模式,还是再强调,它们背后的思路完全不同。具体而言,bridge模式中,把模块分为抽象部分和实现部分,这2部分都可能会发生变化,把他们抽象出来后,可以把M*N种变化变成M+N种变化。

2013-07-15 09:52:37 417

原创 设计模式2

Bridge模式四人帮的说法“将抽象部分和它的实现部分分离,使他们可以独立地变化”理解起来就是,有个模块A,能够把它分割成2个独立的概念,一个是它的抽象部分,一个是它的具体实现部分,这2个部分可以独立的改变。就是说如果有了新的实现算法,抽象部分可以不用感知到这种变化,这也是抽象部分就不需要改变;反过来,抽象部分有了变化,对于实现部分也不用去关心这种变化,从而实现部分也不需要变化。具体例

2013-07-15 09:51:39 487

clucene-core-2.3.3.4 cmake可生产vs2005工程

以前的资源vs2005是我本机生成的,直接用是没法用的。 上传个干净的,vs2005要自己生成,里面有个说明文档。

2013-11-08

clucene-core-2.3.3.4

网上下载的代码在生成vs2005工程的时候包错,改动了下cmake的文件。成功生成了vs2005的工程。

2013-07-30

sqlite源码(含vs2005工程)

加了个win32的目录,自己创建了个vs2005的工程,方便在windows上调试学习。

2013-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除