我在 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 米。对于每条街道,我想沿着建筑立面(面向街道的多边形边缘)绘制这些偏移曲线。有人可以帮我怎么做吗?