本片文章简单记录了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|--appendAdd the OSM file into the database without removing
existing data.
-b|--bBoxApply 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|--createRemove existing data from the database. This is the
default if --append is not specified.
-d|--databaseThe name of the Postgresql database to connect
to (default: gis).
-i|--tablespace-indexThe name of the Postgresql tablespace where indexes will be create
to (default: pg_default).
-l|--latlongStore data in degrees of latitude & longitude.
-m|--mercStore data in proper spherical mercator (default)
-M|--oldmercStore data in the legacy OSM mercator format
-E|--proj numUse projection EPSG:num
-u|--utf8-sanitizeRepair bad UTF8 input data (present in planet
dumps prior to August 2007). Adds about 10% overhead.
-p|--prefixPrefix for table names (default planet_osm)
-s|--slimStore temporary data in the database. This greatly
reduces the RAM usage but is much slower.
-S|--styleLocation of the style file. Defaults to /usr/share/default.style
-C|--cacheOnly for slim mode: Use upto this many MB for caching nodes
Default is 800
-U|--usernamePostgresql user name.
-W|--passwordForce password prompt.
-H|--hostDatabase server hostname or socket location.
-P|--portDatabase server port.
-e|--expire-tiles [min_zoom-]max_zoomCreate a tile expiry list.
-o|--expire-output filenameOutput filename for expired tiles list.
-r|--input-readerInput frontend.
libxml2 - Parse XML using libxml2. (default)
primitive - Primitive XML parsing.
-O|--outputOutput 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|--hstoreGenerate an additional hstore (key/value) column to postgresql tables
-z|--hstore-columnGenerate 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-geometryGenerate multi-geometry features in postgresql tables.
-K|--keep-coastlinesKeep 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|--helpHelp information.
-v|--verboseVerbose 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 [] [.]
pgsql2shp []
OPTIONS:
-f Use this option to specify the name of the file
to create.
-h Allows you to specify connection to a database on a
machine other than the default.
-p Allows you to specify a database port other than the default.
-P Connect to the database with the specified password.
-u Connect to the database as the specified user.
-g 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:
-s 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 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 Specify the character encoding of Shape's
attribute column. (default : "WINDOWS-1252").
-N NULL geometries handling policy (insert*,skip,abort).
-n Only import DBF file.
-? Display this help screen.
一定要注意使用-s -W参数。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250