中文坐标校正公共域库(gcj-02/bd-09)
prcoords的Python项目详细描述
prcoords
人民矫正坐标(prcoords)是gcj-02、bd-09等"公开秘密"中文坐标模糊处理方法的跨语言实现。以及先前在中国地图移动中建立的一般除臭方法,eviltransform,eviltransform,以及地球化学。(将直线替换为波浪线的过程称为"变换"是委婉的过度。)
语言
- [X]javascript(
npm install prcoords
) - [X]python(
pip安装prcoords
) - []使用
安装的makefile
- 有时需要将Googollee/Eviltransform 54移到这里。
- 懒得分割文件。同时展开"caijun"
- 完成了吗?
(我应该把它们分成子模块吗?)
对于尚未支持的语言,我们建议您检查eviltransform(mit)或geolina(gplv3,r)。
API
prcoord的api操作并返回坐标的专用结构。在api名称中,我们通常将wgs-84称为wgs
,将gcj-02称为gcj
,将bd-09(lat lon)称为bd
反函数
模糊处理通常具有这些属性以保持基本的有用性:
obfs(coord)
有点接近于coord
obfs(a)-obfs(b)
通常接近a-b
。(越接近的a
和b
是 对彼此来说,效果越好。) < > >- 向后运行:
obfs(coord)
永远不会离coord太远,所以只需使用
obfs(obfs(coord))-obfs(coord)
估计obfs(coord)-coord
- 迭代一点:以某种方式得到一个粗略的猜测,然后使用属性2来估计
剩下的错误为
obfs(guess)-obfs(coord)
并更正guess
- 公共域
- 基于坐标对的干净api
- 需要为这个讽刺的名字找个地方
- 算法.coords.converter来自EMQ(github mirror)可能是gcj泄漏。这是一个"演示地理信息系统"的jsp项目,可能是由某个政府承包商完成的。
- 两个轴上的gcj三角洲都有一些随机性:一个
sin
调用和一个lcg。每增加一米的误差。
- 两个轴上的gcj三角洲都有一些随机性:一个
- on4wp7(2013)是最早的合理化gcj(forward)实现。不尝试随机性。
- chinamapshift(2014)计算出gcj的快速迭代逆。我首先通过地球化学了解到了它,并在这里进行了概括。
- bd-09的来源不是很好,但pycoordtrans(2014年)似乎拥有它。
- 中国对地理数据的限制:这篇维基百科文章概述了影响和"共同秘密"的脱罪方法。
- eviltransform是最流行的跨语言解决方案之一。它直接从eviltransform.cs中借用了它的名字,这是一个早期重构的原始java实现版本,可以在emq中找到。某种政府承包商的地理信息系统演示项目。
- 由Caijun编写的地球化学是一个用R语言编写的清晰、简洁的实现,它采用了来自ChinaMapShift的迭代方法。
- 我正计划将我最初的javascript实现中的一些关于算法的评论移到github wiki中。我认为在将我的实现翻译成其他语言时,没有人会对复制关于这些白痴的评论感兴趣。 **如果您正在进行翻译,请考虑仅使用pdf中的注释。
通常有两种方法可以逆转"正向"混淆,或者从
obfs(coord)
到coord
,已实现:
您可以在演示页上阅读这些方法在Δ往返中的工作情况。
条目。除非你在做档案工作,否则通常不需要重复。
"中国"健康检查
通常,prcoords只应该在模糊的输入数据上运行,而 主要是中国坐标。因此,初始实现 包括这个非常粗糙 在墨卡托投影地图上跨越矩形区域的健全性检查。 此检查可以通过传递布尔值来重写,也可以根本不重写 如果我不想用某些语言实现 愚蠢的事情。
有一个"疯狂"的健全检查旨在接近谷歌的范围
以及百度的失真,打算由iitc使用:
js/insane_is_in_china.js
。
它基本上是一个有70个顶点的光线投射多边形检查。你,作为
打电话的人,仍应负责告诉对方某一点是否属于
政府扭曲了中国的数据。
为什么要换一个轮子?
物理坐标
您可以使用此pdf文件打印出prcoords的最小副本。我正在研究第2期中一些更好的选项。Teespring提供了一个相当简单的带有旧版本PDF的手提包。
请随意打印和销售带有pdf文件的t恤衫!它是公开的,所以你不必付钱给我。不过,你可以在帕特伦资助我的颠覆活动。
许可证
除非另有说明,此包中的所有文件,包括此自述文件, 在以下情况下获得双重许可:
GPL只在这里提供娱乐。