如何在Microsoft Power BI中展示PostgreSQL内的Polygon类型森林房屋图形?
在Power BI中展示Polygon图形(森林房屋矩形)的实现方案
可以实现,以下是具体可行的方法:
1. 数据预处理(从PostgreSQL提取Polygon坐标)
先从PostgreSQL的Polygon字段中拆解出矩形的四个顶点坐标,用SQL语句即可完成:
SELECT id, ST_X(ST_PointN(geom, 1)) AS x1, ST_Y(ST_PointN(geom, 1)) AS y1, ST_X(ST_PointN(geom, 2)) AS x2, ST_Y(ST_PointN(geom, 2)) AS y2, ST_X(ST_PointN(geom, 3)) AS x3, ST_Y(ST_PointN(geom, 3)) AS y3, ST_X(ST_PointN(geom, 4)) AS x4, ST_Y(ST_PointN(geom, 4)) AS y4 FROM your_table_name;
将查询结果导入Power BI,确保每条房屋记录对应完整的四个顶点XY坐标。
2. 使用Power BI内置/市场视觉对象
- ArcGIS Maps for Power BI:该组件原生支持多边形图层,导入预处理后的顶点数据后,选择多边形图层类型,即可直接绘制出代表房屋的矩形图形,还能和地图底图联动。
- 第三方自定义视觉对象:在Power BI应用市场搜索「Polygon Visual」类工具,下载后将各顶点坐标映射到对应参数,就能快速在报表中渲染矩形图形。
3. DAX+SVG进阶实现
通过DAX生成SVG代码,再用HTML视觉对象渲染矩形:
- 创建DAX计算列生成SVG路径:
SVG_Rect = "<svg width='100' height='100'> <rect x='" & [x1] & "' y='" & [y1] & "' width='" & ABS([x2]-[x1]) & "' height='" & ABS([y2]-[y1]) & "' style='fill:none;stroke:black;stroke-width:2' /> </svg>"
- 添加HTML内容视觉对象,将该计算列作为输入,即可渲染出矩形,还能结合地图组件实现点位与图形的关联展示。
内容的提问来源于stack exchange,提问作者ALİ BAKIR
相关产品推荐
相关产品推荐

