在 GeoServer 中为 SpatiaLite 创建视图
Creating a view for SpatiaLite in GeoServer
我可以从 SpatiaLite tables 创建 SpatiaLite 图层。但是,我想创建一个基于 SpatiaLite 视图的图层。我在 "New Layer" 屏幕上单击 "Configure new Sql View"。然后我可以创建 sql 视图。但是,在我基于 SpatiaLite 视图创建新图层后,我无法针对 SpatiaLite table 查询 运行。如果我进入新创建的层,我点击 "Edit sql view",我输入一个已知的工作 sql 这个 SpatiaLite 数据库,例如:
select * from lines
然后在“属性”下,我单击 "Refresh",它没有显示任何字段。此外,如果我单击 "Layer Preview"、select 图层并单击 GML,我会收到以下错误:
error:java.lang.RuntimeException: java.io.IOException java.lang.RuntimeException: java.io.IOException java.io.IOExceptionjava.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error) [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error)
不知何故找不到 sql 网站 table。任何帮助将不胜感激。
更新 #1
我在 geoserver.log 文件中找到了这个:
Could not find mapping for 'GEOMETRY', ignoring the column and setting the feature type read only
我查看了我在网上找到的所有信息,它看起来是 GEOSERVER 的 SpatiaLite 提供程序的限制,因为它不允许在 GEOSERVER 中创建自定义 SQL 视图。
我可以从 SpatiaLite tables 创建 SpatiaLite 图层。但是,我想创建一个基于 SpatiaLite 视图的图层。我在 "New Layer" 屏幕上单击 "Configure new Sql View"。然后我可以创建 sql 视图。但是,在我基于 SpatiaLite 视图创建新图层后,我无法针对 SpatiaLite table 查询 运行。如果我进入新创建的层,我点击 "Edit sql view",我输入一个已知的工作 sql 这个 SpatiaLite 数据库,例如:
select * from lines
然后在“属性”下,我单击 "Refresh",它没有显示任何字段。此外,如果我单击 "Layer Preview"、select 图层并单击 GML,我会收到以下错误:
error:java.lang.RuntimeException: java.io.IOException java.lang.RuntimeException: java.io.IOException java.io.IOExceptionjava.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error) [SQLITE_ERROR] SQL error or missing database (near "FROM": syntax error)
不知何故找不到 sql 网站 table。任何帮助将不胜感激。
更新 #1
我在 geoserver.log 文件中找到了这个:
Could not find mapping for 'GEOMETRY', ignoring the column and setting the feature type read only
我查看了我在网上找到的所有信息,它看起来是 GEOSERVER 的 SpatiaLite 提供程序的限制,因为它不允许在 GEOSERVER 中创建自定义 SQL 视图。