[postgis-devel] Is posible to use function lwgeom_to_geojson in another c fuctions

Leknín Řepánek godzilalalala at gmail.com
Sat Jun 25 09:02:15 PDT 2016


There are two reasons, why I want try make it in thios way

1.) I want to try learn myself something about how it is made inside on
some real life problem and on real data.

2.) plpgsql functions can`t use record as input. I`m able to write some
plpgsql function to create json from row, but it mean`s write function
for every table (or write trigger for creating this functions on DDL
events). I would like try to write something more univerzal.

I wrote my function using postgre libs only by make few changes in
row_to_json functions (this is not agregate, only something like first
step), but I`m not able to find oid for relevant function to
geometry_out in this

outputstr = OidOutputFunctionCall(outfuncoid, val)

If I arbitrary set oid of ST_AsGeojson, this doesn`t work.

That im trying to use lwgeom_to_geojson from liblwgeom.

But my C posibilities are really low. So I should learn some basic
stuff on thos problem.

Je;

On Sat, Jun 25, 2016 at 02:19:45PM +0200, Nicklas Aven wrote:
> Well converting to geojson on the fly will always be quite expensive. We are
> not using the resultndirectly, and it is not very big data. But my guess is
> that it will be hard to beat the performance of building jsonb with postgresql
> functions and cast to text string as a last step. But that is said without
> evidence. But aggregating to geojson including attributes also feels like a
> clean operation, not messing with custom aggregates and learning json-c api or
> even worse writing everything for building json.
> 
> About postgrest I thing performance is ok. It is at least faster than the AGS
> server we are communicating with sometimes (and that is a beast compared to our
> Linode server)
> /Nicklas
> 
> Skickat från min Sony Xperia™-smartphone
> 
> ---- Jan Michálek skrev ----
> 
> > You are using postgrest on some bigger data with spatial parts? I tried it
> few days ago and on many features it was pretty slow... But i didn`t make any
> tuning, maybe is there space for optimaliyation for my usecase.
> >
> >
> > 2016-06-25 13:43 GMT+02:00 Nicklas Aven <nicklas.aven at jordogskog.no>:
> >
> > Just a comment.
> > With all the new json functions in PostgreSQL this is very easy to do
> directly in sql too. I think it is fairly efficient too. I use it in production
> to export complete geojson through postgrest.
> >
> > I have thougt about if we could get rid of json-c dependency and use
> postgresql functionality instead.
> > Building json with jsonb, I guess is a lot faster than dealing with text
> strings.
> >
> > /Nicklas
> >
> > Skickat från min Sony Xperia™-smartphone
> >
> > ---- Jan Michálek skrev ----
> >
> > > Hello
> > >
> > > I need a advice about this problem
> > >
> > > I'm trying to write some C fuction for making geojson as aggregate from
> records as full regular geojson with properties.
> > >
> > > I tried to use function lwgeom_to_geojson inside my code.
> > >
> > > something like this
> > >
> > >                 case JSONTYPE_GEOM: //je;
> > >                         {
> > >                         LWGEOM *lwgeom;
> > >                         lwgeom = lwgeom_from_gserialized(
> > >                              (GSERIALIZED*)DatumGetPointer(val)
> > >                               );
> > >                         outputstr = lwgeom_to_geojson(lwgeom, 0, 0, false);
> > >                         escape_json(result, outputstr);
> > >                         pfree(outputstr);
> > >
> > >                         break;
> > >
> > >                         }
> > >
> > >
> > >
> > > I have
> > > #include "liblwgeom.h"
> > >
> > > And I`m able to compile this. But if I try use function in postgre, it get
> me an error
> > >
> > > ERROR:  could not load library "/usr/lib/postgresql/jelejson.so": /usr/lib/
> postgresql/jelejson.so: undefined symbol: lwgeom_to_geojson.
> > >
> > > What i should do? Is posible to use this function like this?
> > >
> > > Thanks Je;
> > >
> > >
> > > --
> > >
> > > Jelen
> > >
> > > Starší čeledín datovýho chlíva
> >
> >
> > _______________________________________________
> > postgis-devel mailing list
> > postgis-devel at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/postgis-devel
> >
> >
> >
> >
> > --
> >
> > Jelen
> >
> > Starší čeledín datovýho chlíva
> 

> _______________________________________________
> postgis-devel mailing list
> postgis-devel at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/postgis-devel




More information about the postgis-devel mailing list