我从互联网上下载了一个项目,它应该让我在 Map 上绘制一些多边形,点等,然后将它保存在PostgreSQL数据库中 . 您还可以上传KML文件以显示已绘制的点,多边形等 - 这些也不起作用 .
该项目正在使用PostGis GeoServer .
问题是,我不知道如何在其中启用数据库来保存坐标 .
到目前为止我做了:1)安装PostgreSQL 2)安装PostGis 3)安装GeoServer 4)安装WAMP 5)创建名为'parking'的数据库6)在'parking'中我运行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提供对图层的完全写入权限?
2 回答
继续上面分享的链接,以下是确保配置运行良好的通用步骤:
确保WAMP已成功安装并且正在运行 .
PostgreSQL已成功安装,您可以使用管理界面运行查询 .
创建新用户(不一定是超级用户):https://www.postgresql.org/docs/9.1/static/app-createuser.html
数据库中此新用户的
SELECT
,INSERT
,UPDATE
和DELETE
的GRANT
权限:https://www.postgresql.org/docs/9.0/static/sql-grant.html在此特定问题的上下文中,为应用程序添加服务级别安全性:http://docs.geoserver.org/stable/en/user/security/service.html
确保您具有图层的写入权限 . 在松散的术语中,DB中的每个表中的Geoservices必须有一个层: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 statement来执行此操作 .接下来要尝试的是通过GeoServer tutorial on PostGIS .