问题标签 [spatialite]
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.
android - Android:无法使用 SQL 扩展功能或内置更新行
我在使用 SQLiteDatabase 命令时遇到了很多麻烦。我已经加载了 spatialite 并启用了扩展。我希望我的值之一是 MakePoint 函数的输出,所以我有一个这样的内容值:
当它被传递到SQLiteDatabase.Update()
它时,它会被转义,以便最终生成的字符串成为"UPDATE Targets SET Location='MakePoint(43.2, 27.345, 4326)'"
SQLite 讨厌它并抛出异常。
有没有简单的方法解决这个问题?现在我正在尝试手动构建字符串,因为我无法使用更新。
django - GeoDjango:地理查询导致分段错误
在带有 SpatiaLite 的 Django 开发服务器上,我正在尝试进行基本的地理查询:
这会导致 aSegmentation error
和服务器死亡。loc
是Location
模型的一个实例:
你认为可能有什么问题?
ios - Spatialite iOS5 和 xcode 4.5 - 无法准备语句:没有这样的功能:GLength
我在理智的尽头试图让 spatialite 使用适用于 iOS6(或任何其他版本)的 xcode 4.5 进行编译。实际上,我可以使用基于 Build a static library for iOS 的技术来编译它 - 特别是在控制台返回一切正常但当我运行诸如
"select pk_uid from uk_highways order by GLength(geometry) limit 2" 该语句不会准备。
运行查询“从 uk_highways 限制 2 中选择 pk_uid”将返回 2 个 id,即取出空间函数 - 工作正常(是的,表中有一个几何列)
我已经敲了 3 天了,真的需要一些帮助,我不想这么说,但我想我什至需要一个“白痴指南”,如果有的话。
编辑:不知道为什么我第一次不包括这个:
google-maps - 如何将 EPSG 900913 添加到 geodjango spatialite 数据库?
我试图在我的管理界面中包含一个谷歌地图小部件,在 Linux 系统上使用这个片段(目前在 VMWare Player 的 Bitnami django 堆栈上本地运行)。
地图呈现,但我的数据库中的点特征(实际上是任何特征)没有显示在地图上,当尝试通过地图界面注册点时,我收到一个错误:
我从geodjango 文档中意识到,在初始化 spatialite/sqlite 数据库时不包括 Google 的空间参考系统,解决方案应该是发出以下命令,以添加 SRS:
但是,当我从项目目录执行此操作时,我得到:
我已确认安装了 GDAL、GEOS 和 PROJ4,并且我已将环境变量 GDAL_DATA 和 PROJ_LIB 添加到我的 .profile 中。我检查了/usr/local/share/gdal/gcs.csv文件,该文件似乎没有 900913 的条目(我搜索了其他版本的 gcs.csv,但似乎没有一个包含 900913)。我认为这是导致错误的原因。但是,同一目录中的cubewerx_extra.wkt确实有一个 900913 的 WKT 条目。
我的问题是:如何让add_srs_entry找到正确的 SRS 表示以便将其添加到我的数据库中?或者是否有解决方法,例如以某种方式转换 WKT 表示并将其手动插入 gcs.csv?
我很感激任何帮助!
编辑: 我找到了一种将 EPSG 900913 手动插入到空间数据库中的方法。该解决方案的灵感来自 http://trac.osgeo.org/openlayers/wiki/SphericalMercator 上的 sql 语句(对不起,我没有足够的声誉来发布更多链接)并使用原始 sql 发布到数据库后端(如 https://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly 的文档中所述):
我已经确认该条目现在位于 spatial_ref_sys 表中。但是尝试在管理界面中添加点时,我仍然遇到同样的错误。可以将点添加到地图中,但是在尝试保存该功能时,出现错误:
上面的sql语句正确吗?是否足够,或者 add_srs_entry 是否也做其他事情?
最后,这可能是我的应用程序中的一个编码问题,我将处理一个最小的测试示例并将其发布......
ios - Spatialite 和 iOS
我正在尝试构建最新版本的 Spatialite 以在 iOS 平台上使用,但进展不大。我已经下载了以下库的最新版本,并尝试将它们带入一个项目(每个项目都作为自己的目标)并将它们构建为一个静态库。
- Spatialite(3.0.1合并)
- GEOS(每晚在 20121114 上构建)
- PROJ.4 (4.8.0)
每次下载都包含数十个文件,其中包含脚本、标题和源代码。从这里的步骤中不清楚哪些应该加载,哪些不应该加载。我尝试将每个目录中的所有文件都引入到他们自己的组中,但无济于事,我在第 2 步遇到困难,因为我的 Xcode 版本与示例中使用的版本不同。添加 PROJ.4 位时,Xcode 询问我是否要创建“外部构建系统项目”。
我还尝试从这篇文章中获取 Lionel 的项目并更新所有软件的版本。不幸的是,Xcode 在新源代码中抛出了几十个警告,并且也抛出了一些错误。如有必要,我可以分享这些。更进一步,我什至将他的输出(一个静态库和头文件)带到另一个项目中,但由于某种原因,编译器抛出错误,说他们找不到“sqlite3”。我已将 SQLite3 添加到项目中,但并没有解决问题。
我也尝试过跟进这个线程,但我无法提问,所以我无法询问原始用户他/她是如何做到这一点的。
最后,一个问题:
有谁知道如何使用 Xcode 4.5 和 iOS 6 构建最新版本的 Spatialite 及其配套库(GEOS、PROJ.4)?
如果是这样,你能分享一下你是怎么做到的吗?我也想从概念上理解正在发生的事情。
android - 为 Spatialite Android 升级 libspatialite
嗨,我查看了这个http://code.google.com/p/spatialite-android/关于使用 android 的 spatialite。我试过了,效果很好。
是否可以升级示例以使用 libspatialite-4.0.0 而不是 libspatialite-amalgamation-3.0.1?如果可能的话,有人可以指出一种方法吗?
c# - c# Entity Framework sqlite(spatialite)空间日期
是否可以使用实体框架对 geom 数据类型执行 sqlite intersect 查询?
我在下面的 SQLiteConnection 上取得了成功(加载'libspatialite-4.dll'之后)
我已经成功使用 EF 从我的 SQLite 数据库中查询非空间数据。
这种查询可能吗?我可以加载dll吗?
非常感谢
django - Mac 上的 GeoDjango 和 Spatialite:C 扩展加载问题
我正在按照GeoDjango 教程在我的家用机器上为我的项目设置开发空间数据库,这是一台运行 OSX 10.8.2 的 Mac Mini。我安装了 KyngChaos 包(UnixImageIO、PROJ、GEOS、SQLite3 和 GDAL)和 spatialite,详见本教程的OSX 部分。
我通过 spatialite 创建了数据库,但是当我尝试python manage.py sqlall world
检查模型时,出现以下错误:
django.core.exceptions.ImproperlyConfigured: The pysqlite library does not support C extension loading. Both SQLite and pysqlite must be configured to allow the loading of extensions to use SpatiaLite.
没有太多关于这个问题的内容(尤其是对于 OSX 没有) - 大多数解决方案都涉及安装 pysqlite 而没有define=SQLITE_OMIT_LOAD_EXTENSION
选项(例如这里)。我尝试使用 spatialite 2.3.1 和 2.4,我在我的 virtualenv 中修补并安装了 pysqlite,但我总是遇到同样的问题。
spatialite
和二进制文件似乎都sqlite3
可以正确执行,并且为 django 设置一个非空间 sqlite 数据库也可以正常工作,所以我怀疑这是 SQLite 本身的问题。
任何关于如何使这项工作的提示都会很棒。谢谢。
django - 错误是:没有名为 backends.spatialite.base 的模块
出于测试目的,我正在尝试使用 SQLite,但似乎我错过了spatialite后端:
知道如何让 Django 找到它吗?
我已经安装了 spatialite。
这是我的数据库设置:
Ubuntu 12.04.1 LTS;蟒蛇2.7.3;Django 1.4.1
asp.net - SQLite 访问被拒绝 - 在本地工作但不公开
当我访问我的 ASP.Net IIS 站点 (W2K3) 时,我收到以下错误:
SQLite error
Access is denied.
[SQLiteException (0x80004005): SQLite error Access is denied.]
当我打电话时会发生这种情况:
Object retVal = new System.Data.SQLite.SQLiteCommand("SELECT load_extension('libspatialite-4.dll');", conn).ExecuteScalar();
当我使用 Visual Studio 时,一切正常。
所以在那种情况下,我可以排除任何 dll 问题。所有非空间 SQLIte 查询也可以在 IIS 和 Visual Studio 中正常工作。
我确定我必须在某处设置权限设置,但在哪里和什么用户。