本片文章简单记录了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参数。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|