1

我在 Windows 7(x64)机器上的 PostgreSQL 9.5 数据库(PostGIS 2.2)中有街道(线串)和建筑(多边形)表,就像这样。

street_with_buildings

我试图通过在街道周围绘制偏移曲线来计算街道的宽度。这个想法是在街道周围绘制平行线(偏移曲线),然后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 米。对于每条街道,我想沿着建筑立面(面向街道的多边形边缘)绘制这些偏移曲线。有人可以帮我怎么做吗?

4

0 回答 0