亲爱的朋友们
我有一份太空档案,我可以在工作台上用SpatialLite阅读器阅读。然而,有一个非几何表,它不会出现在要素类中。
所以,我想,我用“sqlite non-spatial”格式读取了这个表。我得到以下错误:
sqlite 3读卡器:打开'z:\connector\gps2sirius\tc_nm_datafilegps_v6.sqlite'进行读取操作
sqlite3 reader:数据库查询'pragma table_info(“elementygeometries”);失败。sqlite3引擎错误:“没有这样的模块:virtualElement”
然而,在数据检查器中,我可以用同一个阅读器打开数据。
有人对此有解释吗?在qgis中填充了空间数据库,但我不知道它最初是如何创建的。
更新:经过进一步调查,它与2018年版本完全相同。
更新/删除具有用户创建ID的功能时,写入程序无法将该ID用作“行选择属性”。当ID与内部空间站点ID匹配时,将更新行,但当ID不同时,不会更改行。
旧文本:
不错的新功能是2019测试版的changedetector。因为我在2018版(FM18567)中遇到了一些关于空间学家的问题,所以我打算为2019版创建一个测试工作台。
我认为工作台应该更新第五个特性的几何结构。这个功能我移动到坐标2,1,但是当我读取文件时,所有功能都在坐标1,1。第二个功能已正确更新为值“new”。
顺便说一句,在FM18567中,我无法更新功能,但看起来这是固定的。编写器未读取内部空间网站ID,无法使用用户创建的ID进行更新。
FME已禁用截断空间表,所以我无论如何都需要一个黑客。我希望它存在,以便其他应用程序可以在更新后读取它。
我需要截断而不是删除“创建”来用插入来刷新表,因为我在后面有另一个转换器,它执行一个从同一个sqlite数据库中的大表中进行选择的sqlExecutor。似乎添加了一个阻止删除/创建的锁。
所以你可能认为我可以用sqleexecutor来黑客截取,但是不!在空间网站的FME中禁用所有数据库运算符,因此不允许“从表中删除”。
别介意我会用蟒蛇。啊,但是现在我使用的是64位的FME,我需要使用python3.6,这是来自无sqlite作为arcgispro标准模块的anaconda,所以我的python黑客也失败了。
那么,我将直接解压到sqlite.exe。但是等一下,FME将其实现为sqlite_fme.dll,不是EXE。
如果使用filegeodatabase,我可以截断该表,但由于filegeodatabase没有SQL接口,因此无法运行sqlexecutor。这使得我读取整个表并执行一个数据库连接,这对于实时应用程序来说需要100倍的时间,而且太长(5分钟v 13秒)。
简单的解决方案是让FME升级SPATIALITE/sqlite编写器,使其完全符合SQL。已经有了一个2017年的老想法,因此需要一个黑客。
我用FME创建了一个空间数据库。它包括有多边形的层,线,点和表格(无几何图形)。然而,FME 2017似乎没有提供指示几何类型的选项。因此,几何图形“表格和列”未正确填充,因此在QGIS中不可见层。手动调整表格后,图层变为可见。有人知道如何在FME中解决问题吗?
我需要生成一个存储1:n关系的空间数据库。1边是一个空间表,n边是一个非空间表。首先,我创建一个模板(template.sqlite from template.sql)。
是否有方法强制从头生成的空间数据库中的表自定义主键?似乎FME总是添加一个ogc-fid字段,并且没有更改此行为的选项。只有使用数据库模板,才能设置自定义主键。
我在一个空间数据库中有一些表,我想截断这些表。
在sqlite/spaceialite中似乎没有truncate命令,所以我使用了“delete from”
我收到一个被拒绝的功能,并显示以下日志消息(红色文本)。
“spaceialite reader:in executesql():sqlite3_step(delete from bounders):SQL逻辑错误或缺少数据库
空间站点读取器:无法执行SQL语句“从边界删除”
空间站点读卡器:无法读取功能类型“uufme_execute_sql_results”
发生了致命错误。有关详细信息,请查看上面的日志文件。“
我可以在Oracle数据库上使用sqleexecutor执行相同的命令,因此,这个问题似乎与空间站点读写格式有关。
我也试过“放下桌子”
在线阅读一些文档,您似乎无法删除sqlite/spaceialite中的视图,但我想找张桌子,不是风景。
有什么想法吗?
还有人遇到过这个吗?我错过什么了吗?
谢谢你的帮助
玛丽
当我写一个西边等于-180.0的多边形几何体时,但在球形墨卡托(-20037508.342789244)中,经度值切换符号并变为正数。我也试过同样的方法,但写入geojson文件时不会出现问题。
当特性被写入到空间站点格式时,是否发生任何值修改?
如果需要的话,我可以提供一个非常简单的工作区来复制它。
为了它的价值,我认为这是一个精确的问题。
简单地将西经度从-20037508.342789244改为-20037508.34278924“解决”了这个问题。但是,它确实转换为更改实际的几何图形,因为最初相当于-180.0的内容现在是-179.99999999997。
以下gdal/ogr编写器为故障模式与后果分析写作。不幸的是,只能将(更新删除)记录与[系统ID]字段匹配,内部生成。此问题影响以下格式:
空间陨石
卡托
混浊的
库奇德卜
弹性搜索
地质填筑
数据库
其他?
在我的大多数场景中,我希望将增量更新作为数据保管器中的“变更集”数据,并将其与表中的现有数据同步为(更新插入删除)。新的变更集数据(提前)不知道内部[System ID]值是什么,因此更新和删除永远无法匹配和处理。
这个故障模式与后果分析格式属性在非gdal/ogr fme编写器上的行为与此不同,即这就像只能够做一个故障模式与后果分析匹配esri geodatabase[object_id]字段(也是内部生成的)。
使用时,是否可以让匹配ID引用任何“唯一ID”字段?故障模式与后果分析请写这些格式?
嘿,伙计们,我正在努力完成一件相当简单的事情,创建一个可以读取的工作区,变换,并编写不同属性的空间网站文件。我很确定我已经能够用其他格式做这个了,但我不能让它和这种格式一起工作。
问题是当我添加一个空间阅读器时,选择“单一合并功能类型”,此文件中的属性将被读取并添加到功能类型中。然后,如果我将文件源更改为另一个具有不同属性集的空间网站,我收到消息了
空间站点读取器:功能类型“natural”不包含与架构属性“landuse”匹配的属性,跳过属性“landuse”spaceialite reader:功能类型“natural”不包含与架构属性“leisure”匹配的属性,跳过属性“leisure”空间网站阅读器:功能类型“natural”不包含与架构属性“amenity”匹配的属性,跳过属性“amenity”空间站点读取器:功能类型“natural”不包含与架构属性“military”匹配的属性,跳过属性“军事”
生成的特性将包含上面的没有值的属性。不管我做什么,如果属性与第一次添加读卡器时读取的属性不匹配,则读卡器拒绝读取这些属性。
我看过动态工作流教程,但它们似乎解决了比我的更复杂的问题。亚搏在线任何帮助都将不胜感激!
我正在用fme2016.1 64位创建一个空间数据库。我有多边形和线条。多边形显示得很完美,但是到处都是线。我添加了一张图片,显示了本应描绘一个城市道路网的线路。有没有人有同样的经验,或者知道为什么画这样的线?我一直试图调整arcmap如何通过“查询对话”读取数据,但没有成功。我的ARCGIS版本是10.3.1
SQLite 3编写器:未能写入数据库中的表“MyFeatureTypeName”。sqlite3引擎错误:`SQL逻辑错误或缺少数据库'