This post was updated on .
>
> Tra parentesi, la MakeLine (e le MakePoint, MakePoly*) sono figlie mie... > ... piezz'e'core :) x Sandro Santilli, complimenti per le figlie! ma... visto che allora sono in gioco, per la creazione dei marciapiedi, ho sentito il bisogno di *ST_OffsetCurve* che all'esucuzione della query di prova in pgadmin mi da errore. QUERY: SELECT ST_AsText(ST_OffsetCurve(ST_GeomFromText( 'LINESTRING(164 16,144 16,124 16,104 16,84 16,64 16, 44 16,24 16,20 16,18 16,17 17, 16 18,16 20,16 40,16 60,16 80,16 100, 16 120,16 140,16 160,16 180,16 195)'), 15, 'quad_segs=4 join=round')); presa da: http://postgis.refractions.net/documentation/manual-svn/ST_OffsetCurve.html ERRORE: ERROR: function st_offsetcurve(geometry, integer, unknown) does not exist RIGA 1: SELECT ST_AsText(ST_OffsetCurve(ST_GeomFromText( ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ********** Errore ********** ERROR: function st_offsetcurve(geometry, integer, unknown) does not exist Stato SQL: 42883 Suggerimento: No function matches the given name and argument types. You might need to add explicit type casts. Carattere: 18 Ho l'impressione che non sappia che *ST_OffsetCurve* sia una funzione, quindi ho controllato le versione delle mie installazioni: Postgis 1.5.2.2, Postgresql 8.4.8, libgeos 3.2.0 e 3.2.2 (uso il PPA di Launchpad UbuntuGis) *Cosa faccio?* _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 527 iscritti al 7.7.2011
---------------------------------
GIS open source per la pianificazione territoriale by cityplanner.it |
>SELECT ST_AsText(ST_OffsetCurve(ST_GeomFromText( >'LINESTRING(164 16,144 16,124 16,104 16,84 16,64 16, > 44 16,24 16,20 16,18 16,17 17, > 16 18,16 20,16 40,16 60,16 80,16 100, > 16 120,16 140,16 160,16 180,16 195)'), > 15, 'quad_segs=4 join=round')); > >presa da: >http://postgis.refractions.net/documentation/manual-svn/ST_OffsetCurve.html > >ERRORE: > >ERROR: function st_offsetcurve(geometry, integer, unknown) does not exist >RIGA 1: SELECT ST_AsText(ST_OffsetCurve(ST_GeomFromText( Fai caso a quello che ti dice l'errore e quello che dice il manuale che hai preso. function st_offsetcurve(geometry, integer, unknown) L'errore ti dice che chiami una funzione che possiede come primo parametro una geometria, come secondo un intero e come terzo un qualcosa di sconosciuto. se leggi il manuale al link che hai indicato, ci trovi scritto che la funzione come secondo parametro si aspetta un Float, non in Integer. Da qui l'errore. E infatti te ci metti un integer (15). Se lo vuoi indicare come float devi metterci una virgola e uno zero. Poi ricordati che in inglese la virgola si indica con il punto. per cui 15.0 Saluti, -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 527 iscritti al 7.7.2011 |
This post was updated on .
Ho capito una cosa... non ho la funzione, come immaginavo e quindi ho tentato di capire se è colpa di un mio aggiornamento oppure no...
insomma sto cercando di aggiungere la funzione, visto che ho verificato in pgadmin che non è nell'elenco, tramite quello che ho capito di questo post: http://trac.osgeo.org/postgis/ticket/413 che spiega di una patch by rafalmag di cui non riesco a capire come usare gli Attachments: postgis-1.5.0-RafalMagda.patch (5.2 KB) - added by rafalmag 20 months ago. Usage: tar xvfz postgis-1.5.0.tar.gz && patch -p0 < postgis-1.5.0-RafalMagda?.patch postgis-offsetCurve-RafalMagda.patch (6.4 KB) - added by rafalmag 19 months ago. usage: svn co http://svn.osgeo.org/postgis/trunk/ -r 5389 && patch -p0 < postgis-offsetCurve-RafalMagda?.patch postgres_geos_OffsetCurve_stacktrace-20110510.txt (21.5 KB) - added by sholl 5 monthsago. Stacktrace for comment28 of a segfaulting postgres-backend. ma come si fa per tabelle, viste, spatial_rel, ecc... sono in cerca di fare l'add function così ho trovato: http://trac.osgeo.org/postgis/attachment/ticket/413/postgis-offsetCurve-RafalMagda.patch che in fondo alla pagina incomincia ad indicarmi del testo per fare add function -- Availability: 2.0.0 - requires GEOS-3.2 or higher CREATE OR REPLACE FUNCTION _ST_OffsetCurve(geometry,float8,cstring,cstring) RETURNS geometry AS '$libdir/postgis-1.5','offsetcurve' LANGUAGE 'C' IMMUTABLE STRICT COST 100; ... e a questo punto, restituendomi un errore: could not find function "offsetcurve" in file "/usr/lib/postgresql/8.4/lib/postgis-1.5.so sto scaricando il DVD live di OSGeo, per vedere se li è tutto a posto... e posso continuare col mio grafo, ma in questo momento ho problemi a scaricarlo, e ne ho già avuti anche nei giorni precedenti... ho fatto diversi tentativi per installare postgis2.0.0, ma non sono riuscito. infatti ho provato a fare la stessa query cambiando postgis-1.5 con postgis2.0 e mi da un errore diverso: ERROR: could not load library "/usr/lib/postgresql/8.4/lib/postgis-2.0.so": /usr/lib/postgresql/8.4/lib/postgis-2.0.so: undefined symbol: GEOSRelatePatternMatch ps. per Andrea Peri ho visto la risposta e oltre ad aver preso l'esempio sulla pagina di documentazione e avendo quindi fatto un paio di prove 15.0 o mettendo ::float, ma evidentemente quello è passo successivo, a questo punto; a proposito ho anche una specie di stratagemma per individuare questi errori, cioè quello di partire da funzioni simili come ST_Buffer e sapendo che in una funzionano, dovrebbero funzionare anche nell'altra e se non è così, l'errore non è quello; infatti all'inizio pensavo che l'errore era dovuto al 'quad_segs=4 join=bevel' ma poi ho scoperto che essendo simile in ST_Buffer e che li funzionava, allora sono passato oltre... ps2. sinceramente se ci fosse una guida con le varie procedure per avere un sistema postgresql/postgis/geos/qgis tipo nightly build o simili, da installare da capo su una macchina virtuale nuova... non mi dispiacerebbe passarci il weekend... :-) ps3. ho trovato questo bel doc: GEOS-advanced (http://www.gaia-gis.it/GEOS-advanced.pdf)
---------------------------------
GIS open source per la pianificazione territoriale by cityplanner.it |
Free forum by Nabble | Edit this page |