用于将las信息导入postgresql/postgis的PDAL管道
我想将.las pointcloud文件中的所有数据写入PostgreSQL/postgis数据库 我的管道文件如下所示:用于将las信息导入postgresql/postgis的PDAL管道,postgresql,postgis,pipeline,pdal,Postgresql,Postgis,Pipeline,Pdal,我想将.las pointcloud文件中的所有数据写入PostgreSQL/postgis数据库 我的管道文件如下所示: { "pipeline":[ { "type":"readers.las", "filename":"F:\\Drive\\KAP\\KAP\\99.526\\pointclouds\\201406071257\\201406071257.las", "spatialreference":"EPSG:32635" },
{
"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\u AsEWKT(PC\u EXPLODE(pa)::几何体)
返回SRID=32635;点(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
}
}
}
颜色值看起来很长,我想将所有这些值写入数据库。您想使用“普通”postgres客户端或通过您描述的api插入此数据吗?我想使用上述管道路径,目前点数据以几何图形的形式输入,这很好,但是我还需要其他属性的列,所以所有数据都存储在数据库中。在这种情况下,我无法帮助您-我认为您可能希望使用psql将数据直接插入数据库,例如
。。ST_MakePoint((jsonstring->'X')::TEXT::NUMERIC,(jsonstring->'Y')::TEXT::NUMERIC,(jsonstring->'Z')::TEXT::NUMERIC,blue,green,red,…
。祝你好运:)