使用 postgresql 数据库查询语句,直接返回 geojson 格式数据

使用 postgresql 数据库查询语句,直接返回 geojson 格式数据

  • 接口
	/**
     * 查询GeoJson
     *
     * @param fields    字段(逗号拼接的字段名集合)
     * @param tableName 表名
     * @param startId   起始位置
     * @param limit     条目数
     * @return geoJson
     */
    String findGeoJsonByFieldsAndTableName(@Param("fields") String fields, @Param("tableName") String tableName, @Param("startId") long startId, @Param("limit") int limit);

  • sql
	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(geometry)::json as geometry
        , (
        SELECT
        row_to_json(t)
        FROM (
        SELECT
        ${fields}
        ) AS t
        ) AS properties
        FROM ${tableName} where geometry is not null and id > ${startId} order by id asc
        <if test="limit &gt; 0">
            limit ${limit}
        </if>

        ) AS f
        ) AS fc
  • 说明:
    主键为:id
    空间字段为:geometry
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章