postgresql - 将 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,我想将所有这些值写入数据库。
解决方案
推荐阅读
- android - 回收站视图未在 kotlin 中显示 JSON 数据
- python - 在循环期间添加相同的对象之前无法检查列表中是否存在对象
- angular - 如何在 Angular 9 中进行路由?
- javascript - 如何在 Firebase Firestore 中链接 onSnapshot?
- python - 使用递归返回列表中不包括 K 和以下数字的总和
- firebird - 与 FlameRobin 连接时,Firebird 权限被拒绝,但对 isql 没问题
- java - 关闭 Jar 文件后恢复数据
- python - 如何正确输入 else 函数?
- python - Plotly:在 jupyter notebook 中以编程方式平移 3D 图形
- python - Python:将矩阵重塑为列表集合