问题标签 [libspatialindex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用空间索引库批量加载 R* 树
在使用空间库成功构建 R* 树后,将记录一一插入 250 万次,我试图通过批量加载创建 R* 树。我实现了 DBStream 类以迭代地将数据提供给 BulkLoader。本质上,它调用以下方法并为 Bulkloader 准备一个 Data(代码中的 d 变量)对象:
我初始化 DBStream 对象并通过以下方式调用批量加载:
批量加载调用我的 next() 和 hasNext() 函数,检索我的数据,对其进行排序,然后在构建阶段分割故障。有什么线索吗?是的,错误是:
c++ - C++ 空间索引库:从磁盘加载/存储主内存 RTree
我通过以下方式在空间索引库的帮助下创建了一个主内存 R* 索引(DBStream 实现了 bulkLoading 的接口)
我的数据是只读的,也就是说,我只想构建树一次,保存它,并在每次使用我的程序时从持久存储重新加载。显然,我可以自己保存和加载 memStorage,但是如何从中重新创建 RTree?
c++ - (重新)使用空间索引库加载 R 树
我正在使用空间索引(http://libspatialindex.github.com/)库批量加载 R 树:
以下是有关已构建树的信息的输出:
现在我正在尝试加载我保存在磁盘中的内容:
并且树只有一个节点(树的输出是:)
我做错了什么?为什么我不从磁盘加载整个树?
c++ - 作为对象传递给 MyDataStream 流(argv[1])的输入数据文件的格式应该是什么
我正在使用“libspatialindex”库来创建 R-tree 索引。我的数据是二维的,具有以下值:
数据描述如下:
我正在尝试将上述数据批量加载到 R-Tree 中。为此,我使用来自 libspatialindex 的以下测试代码。但是,我不知道作为对象传递给 * MyDataStream stream(argv[1]);的输入数据文件的格式应该是什么。*
我正在使用的测试代码是:
c++ - 在 C/C++ 中批量加载时出错
我正在使用 libspatialindex ( http://libspatialindex.github.io/ ) 库来构建 r-tree:我正在使用以下代码批量加载 r-tree 中的 (latitude,longitude)。我需要批量加载给定地点的(id、纬度、经度)。以下代码执行批量加载。但我不知道为什么它不接受输入文件——没有关于 libspatial 索引的文档,因此我很困惑。
对于输入,我使用以下文件:
但我收到以下错误:
有人可以帮我看看我哪里出错了!!
c++ - libSpatialIndex:在磁盘上加载/存储索引
我有一堆点,我需要对它们进行最近邻搜索,所以我使用的是 libSpatialIndex。代码非常简单,库为我提供了将数据存储在磁盘上的选项,但我无法加载它。
编码:
程序在此之后立即结束。确实在内存中创建了两个文件,“indexTest.dat”8.8MB 和“indexTest.idx”0kB 但是如果我在初始化后立即进行查询或检查索引中的元素数量,它会失败并且只有一个节点树。
我已经看过这些问题:( 重新)使用空间索引库加载 R 树
但是我没有成功,因为我使用的是索引,当我直接使用 RTree 时,数据插入速度要慢 1000 倍。
r-tree - 如何在 Google Colaboratory 上安装 libspatialindex
为了使用 Python 高效地分析空间数据,我使用了 rtree 空间索引库,依赖于 libspatialindex C 库。
我能够使用!pip install rtree
.
正如预期的那样,这还不够,因为需要先安装 libspatialindex,import rtree
结果如下所示:
OSError: Could not find libspatialindex_c library file
我不确定是否以及如何在 Google Collaboratory 中安装外部库。按照https://github.com/libspatialindex/libspatialindex/wiki/1.-Getting-Started我设法运行!curl -L http://download.osgeo.org/libspatialindex/spatialindex-src-1.8.5.tar.gz | tar xz
但我没有配置权限:
!spatialindex-src-1.8.5/configure
/bin/sh: 1: spatialindex-src-1.8.5/configure: Permission denied
python - OSError:在 Mac OSX 上找不到 libspatialindex_c 库文件
系统:Mac OSX
我是 Python 的新用户,目前正在探索 GIS。尝试使用 geopandas 读取形状文件,但我得到:OSError:找不到 libspatialindex_c 库文件
正常使用 Python 3.7,但由于 geopandas 在这方面存在依赖性问题,因此按照此处的建议在 Python2 上运行。
我在这里所做的是使用mac终端,使用python2创建新环境并在那里安装geopandas并尝试读取形状文件。
conda create -n mytest python=2.7 geopandas -c conda-forge
源激活 mytest
导入地理熊猫
geopandas.read_file('Random_points_twitter.shp')
0 0 5.27735 50.25398 0
1 1 3.29896 51.32356 1
2 2 3.29896 51.32356 2
我可以在终端中成功阅读此内容。但是在浏览器中,它返回一个错误。
我所做的是首先在我的新环境上安装 jupyter 并在浏览器上运行笔记本(代码如下)
(mytest) conda install jupyter
(mytest) jupyter-notebook
在带有新笔记本的浏览器上,尝试导入和读取形状文件(类似于我在终端中所做的),但它给了我这个错误:
#
() ----> 1 导入 geopandas 中的 OSError Traceback (最近一次调用最后一次)
/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/ init .py in () ----> 1 from geopandas.geoseries 从 geopandas.geodataframe 导入 GeoSeries 2 从 geopandas.io 导入 GeoDataFrame 3 4 .file 从 geopandas.io.sql 导入 read_file 5 导入 read_postgis
/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/geoseries.py in () 10 11 from geopandas.plotting import plot_series ---> 12 from geopandas.base import GeoPandasBase, _series_unary_op, _CoordinateIndexer 13 14
/Users/rldy/anaconda/lib/python2.7/site-packages/geopandas/base.py in () 12 13 try: ---> 14 from rtree.core import RTreeError 15 HAS_SINDEX = True 16 except ImportError:
/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/ init .py in () ----> 1 from .index import Rtree 2 3 from .core import rt 4 5 version = '0.8. 3'
/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/index.py in () 3 import pprint 4 ----> 5 from . 导入核心 6 导入 ctypes 7 尝试:
/Users/rldy/anaconda/lib/python2.7/site-packages/rtree/core.py in () 123 124 如果 lib_name 为 None:--> 125 raise OSError("Could not find libspatialindex_c library file") 126 127 rt = ctypes.CDLL(lib_name)
OSError: 找不到 libspatialindex_c 库文件
#
我的 conda 列表(如下)已经安装了 libspatial,但是当使用浏览器在 Jupyter Notebook 上运行时给我这个错误。有任何想法吗?
python - 你如何在 Heroku 中安装 Rtree?
我正在 Heroku 上部署一个 GIS 应用程序。我在我的电脑上开发了它,当我部署它时,rtree 不见了。我无法通过 pip 安装它,因为 pip 安装是错误的,正如 rtree 开发人员自己所说的那样。我怎样才能将这种依赖关系融入heroku?
c++ - 是否可以在不使用“undef”的情况下重新定义宏?
我正在尝试理解libspatialindex源代码。作为 C++ 的新手,我很难理解宏的概念。该库的 C API 包装器sidx_api.cc直接和间接地包括许多头文件,其中两个似乎定义了相同的宏,涉及与动态库的接口,没有“undef”: