csv文件导入到PostGIS(二)

另外一种导入csv文件的方式是通过vrt文件。

1.在csv同目录下创建vrt文件

vrt文件的内容如下:

<OGRVRTDataSource>
    <OGRVRTLayer name="Global_24h">
        <SrcDataSource>Global_24h.csv</SrcDataSource>
        <GeometryType>wkbPoint</GeometryType>
        <LayerSRS>EPSG:4326</LayerSRS>
        <GeometryField encoding="PointFromColumns" x="longitude" y="latitude"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

用ogrinfo命令检查vrt文件正确性

> ogrinfo global_24h.vrt Global_24h -fid 1

结果如下:

INFO: Open of `global_24h.vrt'
      using driver `OGR_VRT' successful.

Layer name: Global_24h
Geometry: Point
Feature Count: 30326
Extent: (-155.284000, -40.751000) - (177.457000, 70.404000)
Layer SRS WKT:
GEOGCRS["WGS 84",
    DATUM["World Geodetic System 1984",
        ELLIPSOID["WGS 84",6378137,298.257223563,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["unknown"],
        AREA["World"],
        BBOX[-90,-180,90,180]],
    ID["EPSG",4326]]
Data axis to CRS axis mapping: 2,1
latitude: String (0.0)
longitude: String (0.0)
brightness: String (0.0)
scan: String (0.0)
track: String (0.0)
acq_date: String (0.0)
acq_time: String (0.0)
satellite: String (0.0)
confidence: String (0.0)
version: String (0.0)
bright_t31: String (0.0)
frp: String (0.0)
OGRFeature(Global_24h):1
  latitude (String) = -23.386
  longitude (String) = -46.197
  brightness (String) = 307.5
  scan (String) = 1.1
  track (String) = 1
  acq_date (String) = 2012-08-20
  acq_time (String) =  0140
  satellite (String) = T
  confidence (String) = 54
  version (String) = 5.0
  bright_t31 (String) = 285.7
  frp (String) = 16.5
  POINT (-46.197 -23.386)

2. csv文件导入到PostGIS

      导入csv文件的同时,将坐标系转为EPSG:3857。

ogr2ogr -f "PostgreSQL" -t_srs EPSG:3857 PG:"host=localhost port=5432 dbname=postgis_32_sample user=postgres password=postgres schemas=public" global_24h.vrt -lco GEOMETRY_NAME=the_geom

3.查看导入的数据总数

SELECT count(*) FROM global_24h;

在pgAdmin中的查询结果如下:

 4.查询几何数据

SELECT ogc_fid, latitude,longitude, ST_AsEWKT(the_geom) FROM global_24h LIMIT 5;

在pgAdmin中的查询结果如下:

 5.QGIS中显示几何数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值