问题标签 [geopackage]
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.
java - 内部文件在 Android 上不“可用” - File.exists() 对任何文件都返回 false
我正在尝试访问存储在内部存储中的 2.45GB Geopackage 文件,但每当我尝试访问它时,我都会收到“文件不存在”错误。
gpkg 文件正在通过 DownloadManager 下载到外部存储中,然后再复制到内部存储中,但是当我调用 时new File(getContext().getFilesDir(), "roads.gpkg").exists();
,我得到“假”返回。不仅如此,当我跑步时
该文件不显示。
为了确保这不是来自 DownloadManager 或我的复制方法的意外行为,我手动将文件复制到“Android/data/uk.co.alexks.greenroutes/files”,以及一个 11 字节的 txt 文件,'test .txt',使用我的 Windows 笔记本电脑。同样,对于上面的 listFiles() 代码输出,这些文件都没有返回 trueFile.exists()
或显示(见下文)。
这是我尝试访问文件时的完整代码:
这是 Logcat 输出:
和预期的输出:
我的 Android 清单具有以下权限:
对于它的价值,我知道我应该使用 File.isFile() 来检查文件是否有效,但这在这里没有帮助。
任何帮助将不胜感激!:)
python - 使用 Fiona 模块在 Python 中编写地理包属性数据
我在 fiona 模块方面的经验很少(从今天开始!)我有一个名为 building.gpkg 的地理包,其中有一个名为“id”的字段,在生产时为 NULL。
我正在尝试使用 fiona 模块编写一个 python 脚本,以根据存储在 SQL Server 中的另一个表中可用的 ID 填充其 ID。
虽然我已通过 fiona 成功导入并读取 bldg.gpkg,但我正在努力将数据写入 id 列:
这是示例代码:
这是我得到的错误:
我查看了 fiona 模块中的 collection.py 和 drvsupport.py 并安装并支持了 GPKG 驱动程序是否有我遗漏的东西?还是写作方法不对?
我在 Windows 10 上运行 Python 3.8.1。
谢谢
java - 如何将 X 和 Y 转换为 lat 和 long
我有一个名为的表IK_TEMP
,它包含名为 data, range 的列。
RANGE 字段(二进制/BLOB)字段已使用来自 arcGIS 的二进制编码并保存在数据库中。 http://www.geopackage.org/spec120/#gpb_format
我想使用 java 解码这个 RANGE 字段。
在这里,我尝试了fromBytes 方法
我正在获取对象中x
的y
坐标和几何geometry
类型,但是我怎样才能从中获得经纬度
在他们在 JS reff中给出的一个例子中。
但我想在 java 中进行相同的转换。这是另一个例子
java - 使用java解码blob几何
在我的表中,我有两列,Data
并且Range
.
范围字段是来自 ArcGIS 的二进制编码。这种格式应该是地理空间行业的标准格式。
https://www.gaia-gis.it/gaia-sins/BLOB-Geometry.html
http://www.geopackage.org/spec120/#gpb_format
需要使用srs_id
来解码 Range 字段。
我需要解码这个范围字段。我怎样才能解码它。
我看过例子,但它没有用。
java - 将 X 和 Y 坐标转换为 lat 和 long 的公式
我有一个名为的表IK_TEMP
,它包含名为 data, range 的列。
RANGE 字段(二进制/BLOB)字段已使用来自 arcGIS 的二进制编码并保存在数据库中。
http://www.geopackage.org/spec120/#gpb_format
我想使用 java 解码这个 RANGE 字段。
在这里,我尝试了fromBytes 方法
我正在获取对象中x
的y
坐标和几何geometry
类型,但是我怎样才能从中获得经纬度
在他们在 JS reff中给出的一个例子中。
但我想在 java 中进行相同的转换。
这是另一个例子
sql - 多表中的一列中的 SQL 检查或唯一性
我有一个“唯一”列,“GID_New”,它位于多个表中。有没有办法检查它是否在 SQL 中的 QGIS 项目中的所有表中都是唯一的?
是否可以在一个 SQL 搜索中完成而不将表合并为一个然后运行类似的东西
然后检查计数 >1
我也想知道非唯一 GID_New 来自哪个表。
数据在 QGIS 的地理包中,因此代码需要在 QGIS SQL 实现中工作。
java - 如何采取清单来自 mil.nga.sf.Geometry
在我的 mil.nga.sf.geometry 对象中,我得到了geometry type, hasM, hasZ and point
.
在我的调试中,我能够看到几何对象包含点对象列表,但我无法将它们放入列表中。
我能够获得方法之类的getGeometryType, hasM(), hasZ()
方法,但是当我尝试说它geometry.getPoints
没有显示该方法时
在我的几何对象中,我得到了列表,但我无法将它们放入列表中。
我怎样才能把它list< point>
列入清单。
python-3.x - 从内存/zipfile 中读取一个 gpkg 文件
我知道可以通过在内存中提取并读取它来从 zipfile 中读取 shapefile: https ://gis.stackexchange.com/questions/250092/using-pyshp-to-read-a-file-like -来自压缩档案的对象
Fiona 还可以从内存中读取 shapefile: https ://pypi.org/project/Fiona/1.5.0/
但是,我还没有找到以相同方式读取 .gpkg (geopackage) 的方法。
如何从 zip 文件中提取地理包,然后将其提取到 geopandas 地理数据框中?
java - 在 MacOS 上将 spatialite 与 xerial/sqlite-jdbc 一起使用
我在加载 Java 中的空间扩展以读取 GeoPackage 时遇到一些问题,我有以下代码段:
这导致一个[SQLITE_ERROR] SQL error or missing database (dlopen(mod_spatialite.dylib, 10): image not found)
如果我改为
结果是Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
有什么我想念的吗。我已经安装sqlite3
并spatialite
使用了 Homebrew,这就是spatialite
我正在尝试使用的版本。
python-3.x - 在 python3.x 中使用 geopandas 从文件 GDB 导入地理数据时出现问题
我正在编写一些代码来基于边界框选择和导出地理数据。我要选择的数据来自覆盖整个荷兰的巨大文件 GDB (16GB) 中的 2 个单独层。我使用边界框来避免在进行选择之前读取整个数据集。
此方法在应用于 gpkg 数据库时效果很好,但对于文件地理数据库,处理时间要长得多(对于 200x200 米的选择,处理时间为 0.2 秒与 300 秒)。我正在使用的文件 GDB 为我正在阅读的图层设置了空间索引。我正在使用 geopandas 来阅读和选择。您将在下面找到“Adres”层的示例:
我在监督什么吗?或者这是从巨大的文件 GDB 导入时的限制?我在这里找不到明显的错误。目前,解决方法是另一个脚本,它可以在 gpkg 中导入和转储我需要的层。问题是这运行了 3 到 4 个小时(gpkg 结果几乎是 6 GB)。我不想继续这样做,为了处理这个数据集的新版本,有必要每个月左右做一次。
好奇你们想出什么办法。