首页 > 解决方案 > 将 las 信息导入到 postgresql/postgis 的 PDAL 管道

问题描述

我想将 .las 点云文件中的所有数据写入 PostgreSQL/postgis 数据库。

我的管道文件如下:

{
  "pipeline":[
    {
      "type":"readers.las",
      "filename":"F:\\Drive\\KAP\\KAP\\99.526\\pointclouds\\201406071257\\201406071257.las",
      "spatialreference":"EPSG:32635"
    },
    {
      "type":"filters.chipper",
      "capacity":600
    },
    {
      "type":"writers.pgpointcloud",
      "connection":"host='localhost' dbname='dbname' user='user' password='pw'",
      "schema":"pointcloud_99_526",
      "table":"pc_201406071257",
      "compression":"dimensional",
      "srid":"32635"
    }
  ]
}

这很好用,我已添加"output_dims":"X,Y,Z,RED,GREEN,BLUE"到作者中。 ST_AsEWKT(PC_EXPLODE(pa)::geometry)返回SRID=32635;POINT(580985.1431 4275315.1888 230.0292),没有 RGB 数据。

pdal info F:\Drive\KAP\KAP\99.526\pointclouds\201507130641\201507130641.las -p 0

返回:

{
  "filename": "F:\\Drive\\KAP\\KAP\\99.526\\pointclouds\\201507130641\\201507130641.las",
  "pdal_version": "1.8.0 (git-version: Release)",
  "points":
  {
    "point":
    {
      "Blue": 32639,
      "Classification": 0,
      "EdgeOfFlightLine": 0,
      "Green": 32639,
      "Intensity": 33667,
      "NumberOfReturns": 1,
      "PointId": 0,
      "PointSourceId": 1,
      "Red": 36237,
      "ReturnNumber": 1,
      "ScanAngleRank": 0,
      "ScanDirectionFlag": 1,
      "UserData": 0,
      "X": 580999.6718,
      "Y": 4275267.379,
      "Z": 193.3465
    }
  }
}

颜色值看起来像是 longint,我想将所有这些值写入数据库。

标签: postgresqlpostgispipelinepdal

解决方案


推荐阅读