小编Kar*_*arl的帖子

如何在数据库中存储8000亿GPS标记

我需要存储用户记录到数据库中的GPS轨迹.轨道将包括每5米移动一次的标记,以便在地图上绘制线条.我估计200公里的轨道,这意味着40,000 lnlt标记.我估计每个用户最少50,000个,每个200个轨道20个.这意味着至少有400亿lnlt标记物.

这也需要扩展,因此对于100万用户,我需要8000亿GPS标记的容量.

由于每组40,000个标记属于单个轨道,我们正在谈论1到2千万条记录/组GPS轨迹.

要求:用户将请求在移动应用程序中的Google地图上查看这些曲目.

关系:我目前有2张桌子.表一有:[trackid],[userid],[comment],[distance],[time],[top speed].

表2具有[trackid] [经度] [纬度],这是存储所有GPS标记的位置.在保持读取性能的同时,存储大量GPS数据的有效方法是什么?

新的消息:

将GPS数据存储在KML文件中以便将其显示为Google地图上的轨道是一种很好的解决方案,可以节省数据库空间.将KML压缩为KMZ(基本上是带有KMZ扩展名的压缩KML)可以进一步减小文件大小.KMZ的加载速度比GPX快得多,并且可以作为KML图层与Google Maps API集成.有关更多帮助,请参阅Google提供的此信息.到目前为止,这似乎是目标要求的最佳解决方案.

mysql database gps database-design nosql

14
推荐指数
1
解决办法
5743
查看次数

使用Python将CSV转换为mongoimport友好的JSON

我有一个300 MB的CSV,有来自Geonames.org的300万行城市信息.我正在尝试将此CSV转换为JSON以使用mongoimport导入MongoDB.我想要JSON的原因是它允许我将"loc"字段指定为数组而不是用于地理空间索引的字符串.CSV以UTF-8编码.

我的CSV片段如下所示:

"geonameid","name","asciiname","alternatenames","loc","feature_class","feature_code","country_code","cc2","admin1_code","admin2_code","admin3_code","admin4_code"
3,"Zam?n S?khteh","Zamin Sukhteh","Zamin Sukhteh,Zam?n S?khteh","[48.91667,32.48333]","P","PPL","IR",,"15",,,
5,"Yek?h?","Yekahi","Yekahi,Yek?h?","[48.9,32.5]","P","PPL","IR",,"15",,,
7,"Tarv?? ‘Ad??","Tarvih `Adai","Tarvih `Adai,Tarv?? ‘Ad??","[48.2,32.1]","P","PPL","IR",,"15",,,
Run Code Online (Sandbox Code Playgroud)

与mongoimport一起使用的所需JSON输出(charset除外)如下:

{"geonameid":3,"name":"Zamin Sukhteh","asciiname":"Zamin Sukhteh","alternatenames":"Zamin Sukhteh,Zamin Sukhteh","loc":[48.91667,32.48333] ,"feature_class":"P","feature_code":"PPL","country_code":"IR","cc2":null,"admin1_code":15,"admin2_code":null,"admin3_code":null,"admin4_code":null}
{"geonameid":5,"name":"Yekahi","asciiname":"Yekahi","alternatenames":"Yekahi,Yekahi","loc":[48.9,32.5] ,"feature_class":"P","feature_code":"PPL","country_code":"IR","cc2":null,"admin1_code":15,"admin2_code":null,"admin3_code":null,"admin4_code":null}
{"geonameid":7,"name":"Tarvi? ‘Adai","asciiname":"Tarvih `Adai","alternatenames":"Tarvih `Adai,Tarvi? ‘Adai","loc":[48.2,32.1] ,"feature_class":"P","feature_code":"PPL","country_code":"IR","cc2":null,"admin1_code":15,"admin2_code":null,"admin3_code":null,"admin4_code":null}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有可用的在线CSV-JSON转换器,但由于文件大小,它们无法正常工作.我得到的最接近的是数据转换器先生(如上图所示),它将删除文件之间的开始和结束括号和逗号后导入MongoDb.不幸的是,该工具不适用于300 MB的文件.

上面的JSON设置为以UTF-8编码但仍然存在字符集问题,很可能是由于转换错误?

我花了最近三天学习Python,尝试使用Python CSVKIT,尝试堆栈溢出中的所有CSV-JSON脚本,将CSV导入MongoDB并将"loc"字符串更改为数组(这不幸地保留了引号)甚至尝试手动一次复制并粘贴30,000条记录.很多逆向工程,反复试验等等.

有没有人知道如何实现上面的JSON,同时保持编码正确,如上面的CSV?我完全停顿了.

python csv json geospatial mongoimport

5
推荐指数
1
解决办法
6741
查看次数

我的javascript错了吗?

非常简单的javascript无效.

我希望DIV隐藏在鼠标上.index.html和script.js位于同一文件夹中.我在Chrome中打开此功能.

index.html的:

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
  <script> type='text/javascript' src='script.js' </script>
</head>
<body>
  <div>
    Hello world
  </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

的script.js:

$(document).ready(function() {
    $('div').mouseenter(function () {
        $('div').hide();
    });
});
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这不起作用?

html javascript jquery

-2
推荐指数
1
解决办法
123
查看次数