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": "温性草原-禾草,锦鸡儿"
            }
        }
    ]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容