PostGIS空间表查询GeoJSON

PostGIS 提供了非常多的函数可以直接实现空间操作及转换,下面用SQL语句查询空间表的数据并转成GeoJSON:

   SELECT
    row_to_json(fc)
FROM (
    SELECT
        'FeatureCollection' AS type
        , array_to_json(array_agg(f)) AS features
    FROM (
        SELECT
            'feature' AS type
            , ST_AsGeoJSON(geom)::json as geometry  --geom表中的空间字段
            , (
                SELECT
                    row_to_json(t)
                FROM (
                    SELECT
                       id, user,content
                    ) AS t
                ) AS properties
        FROM test_table 
    ) AS f
) AS fc

查询结果如下:

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    87.6416250523,
                    43.6650995192
                ]
            },
            "properties": {
                "id": "6500000182",
                "user": "王晓波",
                "content": "温性荒漠草原-小蓬"
            }
        },
        {
            "type": "feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    87.766879,
                    43.790263
                ]
            },
            "properties": {
                "id": "6500000197",
                "user": "王晓波",
                "content": "温性草原-禾草,锦鸡儿"
            }
        }
    ]
}
posted @   ALLMON  阅读(420)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示