我在Windows 7(x64)计算机上的PostgreSQL 9.5数据库(PostGIS 2.2)中有街道(线串)和建筑物(多边形)表格。
我试图通过绘制街道周围的偏移曲线来计算街道的宽度。我们的想法是在街道周围绘制平行线(偏移曲线),然后使用ST_Distance()
计算它们之间的距离(宽度)。使用以下查询,我可以使用PostGIS函数ST_OffsetCurve()
在街道两侧绘制平行线。两个表都使用EPSG:3044。
SELECT
f.gid,
ST_Union(
ST_OffsetCurve(ST_LineMerge(f.geom), 6.0, 'quad_segs=4 join=round'),
ST_OffsetCurve(ST_LineMerge(f.geom), -6.0, 'quad_segs=4 join=round')
) as track
FROM
street f;
以上查询如下所示:
到目前为止,这些偏移曲线距离街道6米的固定距离。对于每条街道,我想沿着建筑立面(面向街道的多边形边缘)绘制这些偏移曲线。有人可以帮我怎么做吗?