PostgreSQL数据库似乎不适用于GeoServer。



我从网上下载了一个项目,它应该让我在地图上画一些多边形、点等等,然后保存在PostgreSQL数据库中。您也可以上传KML文件来显示已经绘制的点、多边形等,但这不起作用。

该项目使用PostGis+GeoServer。

问题是,我不知道如何启用其中的数据库来保存坐标。

到目前为止,我做到了:1) 安装PostgreSQL2) 安装PostGis3) 安装GeoServer4) 安装WAMP5) 创建名为"parking"的数据库6) 在"停车"中,我运行过这样的SQL查询:

-- After creating database
CREATE EXTENSION postgis;
-- CREATE SEQUENCE FOR TABLE parking_spaces
CREATE SEQUENCE public.sq_parking_spaces
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
-- TABLE parking_spaces
CREATE TABLE public.parking_spaces
(
id integer NOT NULL DEFAULT nextval('sq_parking_spaces'::regclass),
name character varying(80),
paid boolean,
spaces integer,
geometry geometry(Polygon,3857),
CONSTRAINT parking_spaces_pkey PRIMARY KEY (id)
)
-- CREATE SEQUENCE FOR TABLE parking_meters
CREATE SEQUENCE public.sq_parking_meters
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
-- TABLE parking_meter
CREATE TABLE public.parking_meters
(
id integer NOT NULL DEFAULT nextval('sq_parking_meters'::regclass),
name character varying(80),
geometry geometry(Point,3857),
CONSTRAINT parking_meters_pkey PRIMARY KEY (id)
)

我的下一个目标应该是什么?如何使用PgAdmin检查表格?

编辑:

问题是如何正确地将PostgreSQL数据库连接到GeoServer?以及如何为GeoServer提供对层的完全写入访问权限?

继续上面共享的链接,以下是确保配置正常工作的通用步骤:

  • 请确保WAMP已成功安装并正常工作
  • PostgreSQL安装成功,您可以使用管理界面运行查询
  • 创建一个新用户(不一定是超级用户):https://www.postgresql.org/docs/9.1/static/app-createuser.html

  • 数据库中此新用户的SELECTINSERTUPDATEDELETEGRANT权限:https://www.postgresql.org/docs/9.0/static/sql-grant.html

  • 在这个特定问题的上下文中,为应用程序添加服务级别安全性:http://docs.geoserver.org/stable/en/user/security/service.html

  • 确保您具有对层的写入访问权限。粗略地说,数据库中的每个表都必须有一层地理服务:http://docs.geoserver.org/stable/en/user/security/layer.html

  • 最后,当尝试调用WFS对服务的调用时,jQuery中的参数必须按照以下链接中的说明进行设置:https://gis.stackexchange.com/questions/21251/how-to-initialize-a-wfs-layer

希望能有所帮助。

从上面的命令中,它看起来并不像是将几何体列添加到了geometry_columns表中——请使用AddGeometryColumn语句来执行此操作。

接下来要尝试的是完成关于PostGIS的GeoServer教程。

相关内容

最新更新