基于PostgreSQL+Postgis的空间数据库的实现(结合PHP)(2)
安装完PostGIS后,就可以像使用其他数据库一样使用PostgreSQL,可以在SQL中执行语句建立含有空间数据类型的表。但对于建表而言,要注意空间数据类型。图中SQL窗口里的内容就是生成点类型空间数据的SQL语句。后面附上将标准shp文件导入Postgis中的SQL语句。
-- Table: res1_4m
-- DROP TABLE res1_4m;
CREATE TABLE res1_4m
(
gid serial NOT NULL,
area double precision,
perimeter double precision,
res1_4m_ double precision,
res1_4m_id double precision,
gbcode integer,
"name" character varying(30),
adcode93 integer,
adcode99 integer,
adclass smallint,
pinyin character varying(50),
geog geography(Point,4326),
CONSTRAINT res1_4m_pkey PRIMARY KEY (gid)
)
WITH (
OIDS=FALSE
);
ALTER TABLE res1_4m OWNER TO postgres;
-- Index: res1_4m_geog_gist
-- DROP INDEX res1_4m_geog_gist;
CREATE INDEX res1_4m_geog_gist
ON res1_4m
USING gist
(geog);
可以用SQL语句试着插几条数据,如果没问题的话,则OK。下面就可以考虑如何在服务器端用脚本语言对PostgreSQL数据库进行操作。在PHP连接PostgreSQL之前,需要将PHP适当配置下。对于使用WAMP的童鞋来说,直接在PHP扩展中直接将php_pgsql勾上,重新启动所有服务;对于单一使用PHP的童鞋来说,在php.ini中将extension=php_pgsql.dll前面的分号去掉,然后设置extensiion_dir指向php文件下的ext文件夹。或者直接把/php/libpq.dll和/php/ext/php_pgsql.dll这两个dll文件复制到C盘system32下就可以。
转载自:https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/8687178.jpg