加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgis常见的空间数据的导入导出

发布时间:2020-12-13 17:42:59 所属栏目:百科 来源:网络整理
导读:本片文章简单记录了postgis涉及的常用数据导入导出的使用方法。 1.将osm数据导入postgis osm2pgsql -c -d osm -l -E 4326 -S /usr/share/osm2pgsql/default.style xxxxx.osm 这里要注意几个参数,是选用-c还是-a要看你的应用方式,-S这个是在ubuntu下路径不同

本片文章简单记录了postgis涉及的常用数据导入导出的使用方法。


1.将osm数据导入postgis

osm2pgsql -c -d osm -l -E 4326 -S /usr/share/osm2pgsql/default.style xxxxx.osm

这里要注意几个参数,是选用-c还是-a要看你的应用方式,-S这个是在ubuntu下路径不同时使用,espg可以不用再使用900913了。自然要使得数据库采用UTF8编码最好。


osm2pgsql SVN version 0.70.5
Usage:
osm2pgsql [options] planet.osm
osm2pgsql [options] planet.osm.{gz,bz2}
osm2pgsql [options] file1.osm file2.osm file3.osm


This will import the data from the OSM file(s) into a PostgreSQL database
suitable for use by the Mapnik renderer


Options:
-a|--append Add the OSM file into the database without removing
existing data.
-b|--bbox Apply a bounding box filter on the imported data
Must be specified as: minlon,minlat,maxlon,maxlat
e.g. --bbox -0.5,51.25,0.5,51.75
-c|--create Remove existing data from the database. This is the
default if --append is not specified.
-d|--database The name of the PostgreSQL database to connect
to (default: gis).
-i|--tablespace-index The name of the PostgreSQL tablespace where indexes will be create
to (default: pg_default).
-l|--latlong Store data in degrees of latitude & longitude.
-m|--merc Store data in proper spherical mercator (default)
-M|--oldmerc Store data in the legacy OSM mercator format
-E|--proj num Use projection EPSG:num
-u|--utf8-sanitize Repair bad UTF8 input data (present in planet
dumps prior to August 2007). Adds about 10% overhead.
-p|--prefix Prefix for table names (default planet_osm)
-s|--slim Store temporary data in the database. This greatly
reduces the RAM usage but is much slower.
-S|--style Location of the style file. Defaults to /usr/share/default.style
-C|--cache Only for slim mode: Use upto this many MB for caching nodes
Default is 800
-U|--username Postgresql user name.
-W|--password Force password prompt.
-H|--host Database server hostname or socket location.
-P|--port Database server port.
-e|--expire-tiles [min_zoom-]max_zoom Create a tile expiry list.
-o|--expire-output filename Output filename for expired tiles list.
-r|--input-reader Input frontend.
libxml2 - Parse XML using libxml2. (default)
primitive - Primitive XML parsing.
-O|--output Output backend.
pgsql - Output to a PostGIS database. (default)
gazetteer - Output to a PostGIS database suitable for gazetteer
null - No output. Useful for testing.
-x|--extra-attributes
Include attributes for each object in the database.
This includes the username,userid,timestamp and version.
Note: this option also requires additional entries in your style file.
-k|--hstore Generate an additional hstore (key/value) column to postgresql tables
-z|--hstore-column Generate an additional hstore (key/value) column to containing all tags
that start with the specified string,eg --hstore-column "name:" will
produce an extra hstore column that contains all name:xx tags
-G|--multi-geometry Generate multi-geometry features in postgresql tables.
-K|--keep-coastlines Keep coastline data rather than filtering it out.
By default natural=coastline tagged data will be discarded based on the
assumption that post-processed Coastline Checker shapefiles will be used.
-h|--help Help information.
-v|--verbose Verbose output.


Add -v to display supported projections.
Use -E to access any espg projections (usually in /usr/share/proj/epsg)


2.postgis导出到shap

虽说有udig可以导出成shap,但是遇到中文乱码也是一件比较令人头痛的事情。

windows下一般都是GBK,最好加着字符集设置。pgsql2shp是不带字符集参数的,那只能求PGCLIENTENCODING参数来起作用了。

export PGCLIENTENCODING=GBK
pgsql2shp osm public.planet_osm_line

关于pgsql2shp的使用说明信息:

RCSID: $Id: pgsql2shp.c 5451 2010-03-22 19:38:40Z pramsey $ RELEASE: 1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
USAGE: pgsql2shp [<options>] <database> [<schema>.]<table>
pgsql2shp [<options>] <database> <query>


OPTIONS:
-f <filename> Use this option to specify the name of the file
to create.
-h <host> Allows you to specify connection to a database on a
machine other than the default.
-p <port> Allows you to specify a database port other than the default.
-P <password> Connect to the database with the specified password.
-u <user> Connect to the database as the specified user.
-g <geometry_column> Specify the geometry column to be exported.
-b Use a binary cursor.
-r Raw mode. Do not assume table has been created by
the loader. This would not unescape attribute names
and will not skip the 'gid' attribute.
-k Keep postgresql identifiers case.
-? Display this help screen.

3.shap导入到postgis

其实shap到postgis也是比较常用的功能,主要是生成sql文件。

RCSID: $Id: shp2pgsql-core.h 5983 2010-09-19 11:27:05Z mcayland $ RELEASE: 1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
USAGE: shp2pgsql [<options>] <shapefile> [<schema>.]<table>
OPTIONS:
-s <srid> Set the SRID field. Defaults to -1.
(-d|a|c|p) These are mutually exclusive options:
-d Drops the table,then recreates it and populates
it with current shape file data.
-a Appends shape file into current table,must be
exactly the same table schema.
-c Creates a new table and populates it,this is the
default if you do not specify any options.
-p Prepare mode,only creates the table.
-g <geocolumn> Specify the name of the geometry/geography column.
(mostly useful in append mode).
-D Use postgresql dump format (defaults to SQL insert statments).
-G Use geography type (requires lon/lat data).
-k Keep postgresql identifiers case.
-i Use int4 type for all integer dbf fields.
-I Create a spatial index on the geocolumn.
-S Generate simple geometries instead of MULTI geometries.
-w Output WKT format (drops M and introduces coordinate drifts).
-W <encoding> Specify the character encoding of Shape's
attribute column. (default : "WINDOWS-1252").
-N <policy> NULL geometries handling policy (insert*,skip,abort).
-n Only import DBF file.
-? Display this help screen.

一定要注意使用-s -W参数。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读