postgis常见的空间数据的导入导出
本片文章简单记录了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参数。
转载自:https://blog.csdn.net/cnhome/article/details/7843399