PostGIS ile SQL sorguları kullanarak GeoJSON sonuçları üretmek mümkündür. Bu işlem için gerekli olan PostgreSQL fonksiyonları:
- jsonb_build_object()
- jsonb_agg()
- jsonb_build_object()
- ST_AsGeoJSON()
- to_jsonb
SQL sorgusu:
SELECT jsonb_build_object(
'type', 'FeatureCollection',
'features', jsonb_agg(features.feature)
)
FROM (
SELECT jsonb_build_object(
'type', 'Feature',
'id', gis_id,
'geometry', ST_AsGeoJSON(shape)::jsonb,
'properties', to_jsonb(inputs) - 'shape' - 'gdb_geomattr_data'
) AS feature
FROM (
SELECT
*
FROM
sde.icmesuyu_hatlari
WHERE
objectid=121710
) inputs
) features;
Sorgu sonucu:
{
"type": "FeatureCollection",
"features": [
{
"id": "a71bca31-22d1-11e8-8590-0050568bf4f1",
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
458791.489,
4520951.706,
0
]
},
"properties": {
"layer": "N_VANA_SİSTEM",
"cbs_id": "811bca31-22d1-11e8-8590-0050568bf4f1",
"aciklama": "AKTİF",
"objectid": 121710,
"zemin_kot": 43.57
}
}
]
}