Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >地理名称和MongoDB:将Access 2010导出到MongoDB以使用地理空间索引

地理名称和MongoDB:将Access 2010导出到MongoDB以使用地理空间索引
EN

Stack Overflow用户
提问于 2012-11-19 08:44:56
回答 2查看 882关注 0票数 0

我有一个从Geonames的信息Access 2010数据库。表名称为cities。为简单起见,这些列是"name“、"latitude”、"loc“、”loc“。我创建了"loc“将”经度“和”纬度“合并到一个字段中,这样我就可以使用MongoDB的地理空间索引了。我必须以字符串格式保存"loc“列,因为我要组合两个十进制值,中间有一个逗号。

当我将这个表导出到CSV时,我跳过了“经度”和“纬度”,因为我有了新的组合"loc“字段。

CSV如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"geonameid", "name", "loc"
1, "Sweden", "18.068287,59.336341"

在我运行MongoImport进入"cities“集合之后,loc字段用引号括起来,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ "_id" : ObjectId("50a9ed157db1bcfe22cddd0a"), "geonameid" : 20, "name" : "Sweden", "loc" : "18.068287,59.336341", }

在这里,我运行一个命令将"loc“转换为一个数组。感谢Stackoverflow上的另一位贡献者,我使用了以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db.cities.find( { 'loc' : {$type : 2 } } ).forEach( function (x) { x.loc = new Array(x.loc); db.cities.save(x); });

结果是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ "_id" : ObjectId("50a9ed157db1bcfe22cddd0a"), "geonameid" : 20, "name" : "Sweden", "loc" : [ "18.068287,59.336341" ], }

如何在"loc“字段中删除gps坐标中的引号?我不会用MongoDB编写代码,也不介意等待java来执行这个任务。如果可以使用“经度”和“纬度”字段导出CSV并将它们合并到MongoDB中的新"loc“字段中,我也不介意,即使这不是一个漂亮的解决方案。我只需要让"loc“字段与地理空间索引一起工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-19 08:56:04

您将数字组合到"loc“fild中,所以现在它是一个字符串,并被引用。在导入到MongoDB之前,请将其重新分隔为数字。

但是你需要"loc“字段是一个数组才能在GEOindex中使用它--而数组在CSV中是不可能的。您需要找到一种方法将数据从MS Access导出到JSON,然后使用"mongoimport --jsonArray“命令将JSON导入到MongoDB。

导出访问JSON - http://www.divconq.com/2010/export-a-microsoft-access-database-to-json/

票数 0
EN

Stack Overflow用户

发布于 2012-12-29 13:49:00

将loc转换为可用的地理空间数组的命令为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db.cities.find( { 'loc' : {$type : 2 } } ).forEach( function (x) { x.loc = x.loc.split(",").map(parseFloat); db.cities.save(x); });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13450234

复制
相关文章
Mongodb地理空间索引
关于LBS相关项目,一般存储每一个地点的经纬度的坐标, 假设要查询附近的场所,则须要建立索引来提升查询效率。
全栈程序员站长
2022/07/12
5600
MongoDB系列五(地理空间索引与查询).
Volvo Today, Volvo announced its first electric truck for commercial use, called the Volvo FL electric. It's specifically designed for use in cities, intended for distribution and waste management in urban
JMCui
2018/04/19
8360
玩转mongoDB(七):索引,速度的引领(全文索引、地理空间索引)
本篇博文主要介绍mongoDB中一些常用的特殊索引类型,主要包括:用于简单字符串搜索的全文本索引;用于球体空间(2dsphere)的地理空间索引用于二维平面(2d)的地理空间索引。 一、全文索引 mongoDB有一个特殊的索引用在文档中搜索文本,之前的博客都是用精确匹配来查询字符串,这些技术有一定的限制。在搜索大块文本的速度非常慢,而且无法处理自然语言礼节的问题。全文本索引使用的是“倒排索引”的思想来做的,和当前非常开源的lucene(全文检索,Apacle基金会下的开源项目)项目是一样的思想来做的。
壮壮熊
2022/08/18
1.3K0
玩转mongoDB(七):索引,速度的引领(全文索引、地理空间索引)
MongoDB入门系列——7.地理位置索引
我们平常打开一些App的时候,经常有一个“查询周边景点”的功能,如我在高德里面就查询到了附近的景点。
陈琛
2020/06/12
8180
MongoDB入门系列——7.地理位置索引
geohash之2d 地理空间索引
个人博客:https://suveng.github.io/blog/​​​​​​​ 2d 地理空间索引 概述 2D地理空间索引可以将文档与二维空间中的位置(例如地图上的点)相关联。MongoDB将位置字段中的二维坐标解释为点,并且可以将这些点编入特殊索引类型以支持基于位置的查询。地理空间索引提供特殊的地理空间查询操作。例如,您可以基于与其他位置的邻近度或基于指定区域中的包含查询文档。
suveng
2019/09/17
2.3K0
Elasticsearch 在地理信息空间索引的探索和演进
本文梳理了Elasticsearch对于数值索引实现方案的升级和优化思考,从2015年至今数值索引的方案经历了多个版本的迭代,实现思路从最初的字符串模拟到KD-Tree,技术越来越复杂,能力越来越强大,应用场景也越来越丰富。从地理位置信息建模到多维坐标,数据检索到数据分析洞察都可以看到Elasticsearch的身影。
2020labs小助手
2022/06/27
1.5K0
空间回归与地理加权_地理加权显著性
本来这一章准备直接写(照抄)ArcGIS的帮助文档,写地理加权回归工具的使用……,然后就直接结束地理加权回归的,但是近来收到不少同学的邮件,很多都是掉在了当年虾神挖出的大坑里面,比如写了方法,没有列出公式,又比如写了公式木有推导过程(……作为高数战五渣的虾神,推导这种事,他认识我,我不认识他……)
全栈程序员站长
2022/11/08
1.6K0
空间回归与地理加权_地理加权显著性
Mongodb GeoJSON 地理数据处理 其实我也很厉害
相信如果提起地理数据的处理,首先想起的数据库就是postgis, 对大名鼎鼎的postgresql + 插件的方式来将POSTGRESQL 变成纯纯的地理数据处理的数据库,这是人尽皆知和童叟无欺的功能。
AustinDatabases
2022/02/09
2K0
Mongodb  GeoJSON  地理数据处理 其实我也很厉害
空间回归与地理加权_地理加权回归处理点数据
大家好,又见面了,我是你们的朋友全栈君。 本章有数学公式……对数学过敏者慎入……
全栈程序员站长
2022/11/08
1.7K0
空间回归与地理加权_地理加权回归处理点数据
python与地理空间分析(一)
在气象数据分析中,地理空间要素是一个必须考虑的关键特征项,也是重要的影响因素。例如气温会随着海拔的升高而降低,地形的坡向朝向也会影响风速的分布,此外,典型的地形会形成特定的气候条件,也是数据挖掘中可以利用的区域划分标准。数据分析中,地理空间分析往往能提供有效的信息,辅助进行决策。随着航空遥感行业的发展,积累的卫星数据也成为了数据挖掘的重要数据来源。 地理空间分析有好多软件可以支持,包括Arcgis,QGIS等软件平台,本系列文章将会着重分享python在地理空间分析的应用。主要包括地理空间数据的介绍,常用的python包,对矢量数据的处理,对栅格数据的处理,以及常用的算法和示例。 地理空间数据包括几十种文件格式和数据库结构,而且还在不断更新和迭代,无法一一列举。本文将讨论一些常用的地理空间数据,对地理空间分析的对象做一个大概的了解。 地理空间数据最重要的组成部分:
MeteoAI
2019/07/24
8.1K0
MongoDB索引
创建索引的api,3.0之后使用createIndex,ensureIndex已经废弃 * 对于单字段索引,排序的顺序是升序还是降序无关紧要
字母哥博客
2020/09/23
1.6K0
MongoDB 索引
1. ensureIndex添加索引  ensureIndex 函数帮助文档  db.blog.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups  name:指定索引名称  unique:是否唯一索引  dropDups:是否删除重复  创建索引的缺点:每次插入、更新、删除时都会产生额外的开销,要尽可能少创建索引。每个集合默认的最大索引个数为64个。  如果没有对应的键,索引会将其作为null存储,所以,如果对某个建立了唯一索引,但插入了多个缺少该索引键的文档,则由于文档包含null值而导致插入失败。  例子  > db.users.find()  { "_id" : ObjectId("4fc6d0c9387a7fee4eb6bfa9"), "name" : "aaa", "age" : 23, "sex" : "male" }  { "_id" : ObjectId("4fc6d0e5387a7fee4eb6bfaa"), "name" : "bbb", "age" : 25, "sex" : "male" }  { "_id" : ObjectId("4fc6d0f4387a7fee4eb6bfab"), "name" : "ccc", "age" : 25, "sex" : "male" }  { "_id" : ObjectId("4fc6d100387a7fee4eb6bfac"), "name" : "ddd", "age" : 25, "sex" : "male" }  { "_id" : ObjectId("4fc6d110387a7fee4eb6bfad"), "name" : "eee", "age" : 23, "sex" : "male" }  > db.users.ensureIndex({"name":1,"age":-1},{"name":"userIndex"})  //1,-1代表索引方向  //查找索引  > db.system.indexes.find()  { "name" : "_id_", "ns" : "blog.users", "key" : { "_id" : 1 }, "v" : 0 }  { "_id" : ObjectId("4fc6d1d0387a7fee4eb6bfb1"), "ns" : "blog.users", "key" : { "name" : 1, "age" : -1 }, "name" : "userIndex", "v" : 0 } 
阳光岛主
2019/02/18
5720
MongoDB 索引
当往一个集合中插入多个文档后,每个文档经过存储殷引擎后,有一个位置信息,通过这个位置信息。就能从存储引擎中读出该文档。在 mmapv1 引擎下,位置信息是【文件id+文件内 offset】 。在wiredtiger存储引擎里,位置信息是 wiredgiter 在存储文档时生成的一个 key ,通过这个key 能访问到对应的文档。
王小明_HIT
2019/08/13
7150
MongoDB 索引
索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。
拓荒者
2019/09/11
6100
浅尝辄止MongoDB:基础
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/82840397
用户1148526
2019/05/25
1.7K0
英国地理测绘局是如何玩转地理空间数据的?
全球很多城市都在打造“智慧城市”,但很多人不会意识到:城市要想变智慧,如果没了地理空间数据的支撑,绝无可能。从道路管理、商业选址、解决城市拥堵等,地理空间数据的价值无处不在。最近在上海举行的“国际开放数据与城市创新峰会”上,英国地理测绘局国际政策与合作总监John Kedar为我们分享了他们的创新尝试,干货满满,DT君这就送上实录。
DT数据侠
2018/08/08
5370
英国地理测绘局是如何玩转地理空间数据的?
空间回归与地理加权_时空地理加权回归对样本量要求
大家好,又见面了,我是你们的朋友全栈君。 实际上,除了辅助表以外,GWR还会生成一份全要素的表。对回归的每一个样本都给出相应的信息,今天就来看看这些信息代表了什么内容。
全栈程序员站长
2022/11/09
1.1K0
空间回归与地理加权_时空地理加权回归对样本量要求
MongoDB TTL索引
TTL索引是一种特殊类型的单字段索引,主要用于当满足某个特定时间之后自动删除相应的文档。也就是说集合中的文档有一定的有效期,超过有效期的文档就会失效,会被移除。也即是数据会过期。过期的数据无需保留,这种情形适用于如机器生成的事件数据,日志和会话信息等等。本文主要描述TTL索引的使用。 一、TTL索引 创建方法 db.collection.createIndex(keys, options) options: expireAfterSeco
Leshami
2018/08/08
1.5K0
MongoDB 索引创建
七、更多参考 MongoDB 单键(列)索引 MongoDB 复合索引 MongoDB 多键索引 MongoDB 执行计划获取(db.collection.explain()) MongoDB 唯一索引 MongoDB 部分索引 MongoDB 稀疏(间隙)索引(Sparse Indexes)
Leshami
2018/08/08
2.8K0
点击加载更多

相似问题

MongoDB地理空间堆索引

24

Mongodb地理空间索引TopoJSON

12

mongoDB地理空间

10

MongoDB :未添加地理空间索引

11

阵列上的MongoDB地理空间索引(多键+地理空间)

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文