课程思政-国产数据库
数据库备份与恢复
pgadmin
采用pgadmin自带的数据备份工具进行备份,要求备份的格式为sql。
数据备份后的sql,可以直接用于数据恢复的选项,选择上一步备份的sql文件进行数据恢复。
pg_dump和pg_restore
采用命令行对数据库进行备份
./pg_dump -h 114.116.236.4 -p 5432 -U postgres -F t -f /mnt/sdc/pgback_up/traffic_beanc.tar traffic_beanc
恢复命令
./pg_restore -h 114.116.236.4 -p 5432 -U postgres -d traffic_survey_db /mnt/sdc/pgback_up/traffic_beanc.tar
导入和导出shapefile文件数据
Shapefile是一种用于地理信息系统(GIS)中存储地理空间数据的常见文件格式。它是一种矢量数据格式,通常用于表示地图、地理特征和地理属性。以下是关于Shapefile格式的详细介绍:
文件组成: Shapefile通常由一组相关文件组成,这些文件以相同的文件名但不同的扩展名来存储不同类型的数据。通常包括以下文件:
.shp
:包含几何数据,描述地图上的点、线或多边形。.shx
:包含索引数据,用于加速空间查询和访问。.dbf
:包含属性数据,通常是一个dBASE数据库文件,用于存储与几何对象相关联的属性信息。.prj
:包含地理坐标系统的定义,以确保地图数据正确地投影到地球表面上。
几何类型: Shapefile支持多种几何类型,包括点、多点、线(折线和多边形)、多线和多多边形。这些几何类型可以用来表示不同类型的地理要素,如点标记、道路、河流、行政边界等。
属性数据: Shapefile的
.dbf
文件存储了与地理要素相关的属性数据,通常以表格形式组织。属性数据可以包括文本、数字、日期等不同类型的信息,用于描述地理要素的特征。每个属性字段都有一个名称和数据类型。地理坐标系统:
.prj
文件包含了地理坐标系统的定义,这是确保地理数据正确地在地球表面上定位和投影的关键信息。Shapefile可以使用不同的地理坐标系统,如经纬度坐标系统(WGS84)或特定投影坐标系统(如UTM)。多部分几何: Shapefile支持多部分几何,这意味着一个单独的地理要素可以由多个几何部分组成。例如,一个多边形可以由多个不相连的环组成,每个环代表一个内部或外部边界。
拓扑关系: Shapefile没有内置的拓扑信息,如节点、边界等,但可以通过空间分析工具来构建和维护拓扑关系。
广泛应用: Shapefile格式是GIS领域中最常见和广泛使用的矢量数据格式之一,可以在许多GIS软件中使用,如ArcGIS、QGIS、MapInfo等。
使用shp2pgsql导入和pgsql2shp导出
导入数据
shp2pgsql -s 4269 -g geom_4269 -I -W "latin1" "D:\CUDA\postgis_in_action\gisdata\tl_2020_01003_roads\tl_2020_01003_roads" staging.tl_2020_state | psql -h localhost -p 5432 -d postgres -U postgres
导出数据
pgsql2shp -f "D:\CUDA\postgis_in_action\gisdata\out" -h localhost -u postgres -P atdebei123 -p 5432 postgres staging.tl_2020_state
使用QGIS导入导出shapefile数据
使用ogr2ogr导入和导出矢量数据
验证ogr2ogr
ogr2ogr --formats
使用ogr2ogr导入
ogr2ogr -f "PostgreSQL" PG:"host=localhost user=postgres port=5432 dbname=postgres password=atdebei123" D:\CUDA\postgis_in_action\ch04\data\468761.gpx -overwrite -lco GEOMETRY_NAME=geom -nln "staging.aus_biketrip_narangba"
使用ogr2ogr导出
ogr2ogr -f "PostgreSQL" PG:"host=localhost user=postgres port=5432 dbname=postgis_in_action password=mypassword" "/gisdata/canada" -lco GEOMETRY_NAME=geom -lco SCHEMA=canada -a_srs "EPSG:4269"
使用ogr2ogr导出到GeoJSON
ogr2ogr -f "GeoJSON" /gisdata/us_adminbd.json PG:"host=localhost user=postgres port=5432 dbname=postgis_in_action password=mypassword" -dsco ID_FIELD=name_2 us.admin_boundaries
ogr2ogr -f "GeoJSON" /gisdata/biketrip.json PG:"host=localhost user=postgres port=5432 dbname=postgis_in_action password=mypassword" -dsco ID_FIELD=track_seg_point_id -select "SELECT track_seg_point_id, ele, time" -where "time BETWEEN '2009-07-18 04:33-04' AND '2009-07-18 04:34-04'" staging.aus_biketrip_narangba