Php PostgreSQL数据库似乎无法与GeoServer配合使用
我从互联网上下载了一个项目,该项目可以让我在地图上绘制一些多边形、点等,然后将其保存在PostgreSQL数据库中。您还可以上传KML文件来显示已经绘制的点、多边形等,但这并不适用 该项目正在使用PostGis+GeoServer 问题是,我不知道如何启用其中的数据库来保存坐标 到目前为止,我做到了: 1安装PostgreSQL 2安装PostGis 3安装地理服务器 4安装WAMP 5创建名为“停车场”的数据库 6在“停车场”中,我运行了如下SQL查询:Php PostgreSQL数据库似乎无法与GeoServer配合使用,php,postgresql,postgis,geoserver,pgadmin,Php,Postgresql,Postgis,Geoserver,Pgadmin,我从互联网上下载了一个项目,该项目可以让我在地图上绘制一些多边形、点等,然后将其保存在PostgreSQL数据库中。您还可以上传KML文件来显示已经绘制的点、多边形等,但这并不适用 该项目正在使用PostGis+GeoServer 问题是,我不知道如何启用其中的数据库来保存坐标 到目前为止,我做到了: 1安装PostgreSQL 2安装PostGis 3安装地理服务器 4安装WAMP 5创建名为“停车场”的数据库 6在“停车场”中,我运行了如下SQL查询: -- After creating d
-- 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已成功安装,您可以使用管理界面运行查询。 创建一个不一定是超级用户的新用户: 为数据库中的此新用户授予选择、插入、更新和删除权限: 针对此特定问题,请为应用程序添加服务级别安全性: 确保您具有层的写访问权限。松散地说,数据库中每个表的Geoservices中必须有一个层: 最后,在尝试调用对服务的WFS调用时,必须按照以下链接中所述设置jQuery中的参数:
希望对您有所帮助。通过上面的命令,它不会显示为您已将几何图形列添加到几何图形列表中-请使用
下一步要尝试的是完成。您能够运行PHP代码了吗?请检查,你好,是的,我能做到。我通过/www中的localhost/GEO文件夹访问它,我已经可以在地图上画图了,但是重新加载后,所有内容都消失了,我认为坐标没有保存到数据库中。好的,谢谢确认。你提到代码是从某处下载的。是否根据DB用户访问权限的凭据进行了配置?很难猜测,但是,如果尚未配置,那么它可能位于项目中的config文件夹或类似名称的文件中?嗯,我似乎在代码中的任何地方都找不到数据库凭据。这个项目有database文件夹和database.sql文件,php文件夹和kml.php文件,我想它是用来上传kml文件,css文件夹和.css文件,js文件夹和jquery,openlayer和主脚本,在主脚本中我找不到任何数据库的引用,但代码很复杂,我可能不知怎么错过了它。您想上传这些文件吗?在您下载代码的源代码上找到任何配置说明吗?代码包中有自述文件吗?您的应用程序需要知道它驻留在哪里,以及使用什么凭据才能访问数据库。另外,请尝试在表中手动插入数据,并运行SELECT查询,以确保您的数据库实际工作?您能使用phpPgAdmin吗?如果没有,请参见第一条评论中的第二个链接中的答案: