Kli*_*Max 2 postgresql postgis
我有postgreSQL 8.4 + PostGIS 1.5.
我想生成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(lg.the_geom)::json As geometry
, row_to_json(lp) As properties
FROM parcels_temp As lg
INNER JOIN (SELECT num, cadastr FROM parcels_temp) As lp
ON lg.num = lp.num ) As f ) As fc;
Run Code Online (Sandbox Code Playgroud)
但得到一个错误:
ERROR: type "json" does not exist
LINE 4: , ST_AsGeoJSON(lg.the_geom)::json As geometry
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Cra*_*ger 10
jsonPostgreSQL 8.4中没有数据类型.该类型在9.2中引入,但创建了9.1的后向端口; 看到这个bitbucket.
使用text.无论如何,json它只是一个有效的包装text类型,有趣的是类似的函数row_to_json- 它们也不适用于8.4.
如果你不能使用text- 比如说,因为你正在使用期望的第三方代码json,或者因为你需要json函数 - 那么它是时候升级PostgreSQL了.无论如何,8.4正在变得相当老,就像PostGIS 1.5一样.
| 归档时间: |
|
| 查看次数: |
4823 次 |
| 最近记录: |