[Gfoss] ST_OffsetCurve

>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](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(
>
>*Cosa faccio?*

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 àèìòù

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... :slight_smile:

ps3. ho trovato questo bel doc: GEOS-advanced
(http://www.gaia-gis.it/GEOS-advanced.pdf)

il boom dei dati geografici è in corso, aspettiamoci quello delle
informazioni spaziali
#Local Intelligent Marketing#

Simply from Android

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ST-OffsetCurve-tp6826717p6827265.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.