基于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

You may also like...