postgis命令
postgis-toolkit的Python项目详细描述
postgis命令。
说明
- 将cli操作包装到单个接口中
- psql,shp2pgsql,\copy,ogr2ogr等。
- 导入/导出到所需格式
- 在MacOS上测试
用法
$ pgtk Usage: pgtk [OPTIONS] COMMAND [ARGS]... PostGIS Command Line Tool Options: -h, --host TEXT hostname -p, --port TEXT port number -d, --dbname TEXT database -u, --user TEXT user -s, --schema TEXT database schema -c, --crs TEXT EPSG code --help Show this message and exit. Commands: export Export PostGIS data import Import data to PostgreSQL layers Layer commands
查看数据:
$ pgtk -h suffolk.geoserver.org -d boundary_data -s public_works layers list --- public_works.boundary_data --- * zip_codes * suffolk_boundary * fire_districts * landmark_historic_districts * waterfront * zongin_district * boston_neighborhoods * land_use * planning_districts * water * parcels * downtown * airports * harbor_islands $ $ pgtk -h suffolk.geoserver.org -d boundary_data -s public_works layers preview boston_neighborhoods --- preview boston_neighborhoods --- gid name acres neighborho sqmiles shapestare shapestlen geom 1 Roslindale 1605.57 15 2.51 6.99383e+07 53563.9 01060000...
导出Postgis数据:
$ pgtk -h suffolk.geoserver.org -d boundary_data -s public_works \ > export -o ~/Downloads --driver csv boston_neighborhoods suffolk_boundary --- export csv --- >> boston_neighborhoods COPY 26 >> suffolk_boundary COPY 1 $ $ head -5 ~/Downloads/boston_neighborhoods.csv | column -t -s, gid name acres neighborho sqmiles shapestare shapestlen coordinate_y coordinate_x 1 Roslindale 1605.568237499999896 15 2.510 69938272.925570487976074 53563.912597056623781 42.2825239371116 -71.1266625924454 2 Jamaica Plain 2519.245393770000192 11 3.940 109737890.75433960556983 56349.937161410227418 42.3077695033488 -71.1150969429541 3 Bay Village 26.539839160000000 33 0.040 1156070.765868443064392 4650.635493295902052 42.3491032446921 -71.0690319987556 4 Roxbury 2108.469071760000134 16 3.290 91844545.974815726280212 49488.800484731051256 42.3185185721262 -71.0866432257429
安装
$ pip install postgis-toolkit
- Python3.7+
- 需要在计算机上安装Postgis工具-shp2pgsql&;
pgsql应该在您的路径上。
- 最简单的方法是通过Postgres.app