【发布时间】:2017-01-16 20:31:14
【问题描述】:
我从网上下载了一个项目,应该可以让我在地图上画一些多边形、点等,然后保存到PostgreSQL数据库中。您还可以上传 KML 文件以显示已绘制的点、多边形等 - 这也不起作用。
该项目正在使用 PostGis + GeoServer。
问题是,我不知道如何在其中启用数据库来保存坐标。
到目前为止,我做到了: 1)安装PostgreSQL 2) 安装 PostGis 3)安装地理服务器 4) 安装 WAMP 5)创建名为“停车”的数据库 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 对图层的完全写入权限?
【问题讨论】:
-
你能运行 PHP 代码了吗?请检查homeandlearn.co.uk/php/php1p3.html和stackoverflow.com/questions/14621181/…
-
您好,是的,我可以做到。我通过 localhost/GEO 访问它(它在 /www 中的文件夹),我已经可以在地图上绘制,但是在我重新加载它之后,一切都消失了,我认为坐标没有被保存到数据库中。
-
好的,感谢您的确认。您提到代码是从某个地方下载的。是否根据您的数据库用户访问凭据进行了配置?很难猜测,但如果尚未配置,那么它可能位于“config”文件夹或项目中类似名称的文件中?
-
嗯,我似乎无法在代码中的任何位置找到数据库凭据。该项目有带有database.sql文件的“database”文件夹,带有kml.php文件的“php”文件夹(我认为它用于上传KML文件),带有.css文件的“css”文件夹和带有“js”的文件夹jquery、openlayer 和主脚本(在那个主脚本中我找不到对数据库的任何引用,但代码很复杂,我可能以某种方式错过了它)。你想上传这些文件吗?
-
您在下载代码的来源上找到任何配置说明吗?是否有包含代码包的 README 文档?您的应用程序需要知道它所在的位置以及使用什么凭据才能访问数据库。另外,请尝试在表中手动插入数据并运行
SELECT查询以确保您的数据库实际工作?你可以使用 phpPgAdmin 吗?如果没有,请从第一条评论的第二个链接中查看此答案:stackoverflow.com/a/18804253/2298301
标签: php postgresql postgis geoserver pgadmin