分类: 技术

初探Uber H3原理

2018年初,Uber正式开源了他们自己的一种空间索引算法H3(H3项目地址:h3)。最近偶然得知了这个算法,于是Google了一下,发现Uber还是比较良心地在其官网上给出了很多算法原理的讲解:简略版:H3: Uber’s Hexagonal Hierarchical Spatial Index详细版:H3 introdutction。如果英文还不错的话,建议直接看官方的介绍,我这里只是大致翻译

轨迹压缩算法(Polyline encoding algorithm)探究

前言文中的代码表达采用Java,如果不想看原理,可以直接跳到博客末尾,有我写的一个Java版的demo一般来说,轨迹是由若干个轨迹点组成的数组来表达的,每个轨迹点可以表达为 $p = (x, y, t, A)$。其中 $x, y$ 是其空间坐标(一般来说,空间坐标用经纬度表示,即$x$一般对应经度(longitude),$y$一般对应纬度(latitude)),$t$是记录这个轨迹点的时间戳(Ti

Ubuntu16.04+1080ti显卡驱动循环登录问题解决办法

昨天发现Ubuntu在登录界面循环登录,百度之后说是显卡驱动问题,于是将显卡驱动卸了,可是之后却再也装不上,装上了之后又循环登录了。 机器情况是两块NVIDIA 1080Ti,Ubuntu16.04系统。为了解决这个问题,百度、Google搜了半天,发现了一个写的很好的帖子Ubuntu16.04+1080ti显卡驱动安装流程+循环登录问题,上面的所有方法试过之后并没有什么卵用,尝试在NVIDIA官

Google s2 lib研究之空间覆盖

本文适合于对Google s2有一定了解或对空间索引有一定了解的读者。 空间索引常用的方法是空间填充曲线,比如Hilbert, Geohash等,被用于许多查询场景中。Google也推出了自己的空间索引——Google s2,这个项目是一个开源项目,有兴趣的可以直接看Google s2 java版源码和官方文档。对Google s2的介绍可以看Google’s S2, geometry on th

XZ曲线探究

最近在做时空数据库相关的项目,需要做一些空间索引的工作,于是研究了一番GeoMesa和GeoWave。发现他们专门为Polygon类型数据使用了一种叫做XZ曲线的索引。空间填充曲线对于一个GISer来说十分熟悉,但XZ曲线确实是之前闻所未闻。根据GeoMesa的介绍,找到了XZ曲线的论文。论文写得晦涩难懂,看了半天仍未完全看明白。于是又去看GeoWave中关于XZ曲线的源码,终于将XZ的基本原理大

(转载)Python基础

转载自:Python基础长文 一、Day10.print123name = input("What is your name?")print("Hello "+name )# 或者print("Hello",name ),print中逗号分隔直接将字符串用空格分隔,若用+号连接,并且想留空格,则在前一字符串留空格即可 1.输入输出123username=input("username:")pass

HBase原理探究(1)

HBase的行、列和列族HBase的最基本的单位是列(column),一列或多列形成一行(row),并由唯一的行键(rowkey)来确定存储,rowkey按照字典排序。 一个表(table)中有若干行,其中每列可能有多个版本,这些不同的版本按照时间戳(timestamp)区分。 若干个列构成一个列族(column family),一个列族中的所有列存储在一个HFile中。列族在创建表时就定义好,不

基于hexo的marble模板

我的旧版博客使用的模板。项目github地址:hexo-theme-marble 自己动手做的一个github个人主页,由于之前没有做过前端,所以在@ppoffice的Alex项目基础上改的。主要是根据我的个人喜好进行的界面的调整,并增加了评论功能。评论功能采用的gitalk。 整个界面追求极致简洁,黑白配色,所以取名marble。 安装方法:1. nodejs和hexo的安装可以参考这篇博客: