我从网上下载了一个项目,它应该让我在地图上画一些多边形、点等,然后保存在PostgreSQL数据库中。你也可以上传KML文件来显示已经绘制的点、多边形等,但效果不太好。
该项目正在使用PostGis+GeoServer。
问题是,我不知道如何在其中启用数据库来保存坐标。
到目前为止我做到了:
1)安装PostgreSQL
2)安装PostGis
3)安装GeoServer
4)安装WAMP
5)创建名为“停车场”的数据库
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对层具有完全的写访问权限?
最佳答案
继续以上共享的链接,下面是确保配置正常工作的一般步骤:
确保WAMP已成功安装并且正在工作。
PostgreSQL已成功安装,您可以使用管理界面运行查询。
创建一个新用户(不一定非得是超级用户):
https://www.postgresql.org/docs/9.1/static/app-createuser.htmlGRANT
此新用户对数据库的SELECT
、INSERT
、UPDATE
和DELETE
权限:https://www.postgresql.org/docs/9.0/static/sql-grant.html
在这个特定问题的上下文中,为应用程序添加服务级别安全:http://docs.geoserver.org/stable/en/user/security/service.html
确保您具有层的写访问权限。从广义上讲,数据库中的每个表都必须有一个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
希望能有所帮助。
关于php - PostgreSQL数据库似乎不适用于GeoServer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41684518/