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

You may also like...