NOn sono sicuro di aver compreso il problema in ogni suo aspetto.
Io pero' proverei cosi'. La prima domanda che mi porrei è capire se i punti-quotati sono sulla medesima proiezione planare della linea di contorno del poligono3D. Credo che gli attuali sistemi (come spatialite 4.0) consentano di fare intersezioni sul piano, ma se sono oggetti in quota esrpimono anche la quota di contatto per cui dovresti riuscire a farlo. creare una linea ideale verticale tra il punto quotato e la libea a quota zero con stesse coordinate x,y. G1 = MakeLine(MakePointZ(x1 y1 z1), MakePointZ(x1 y1 0)); Intersechi con il contorno del poligono ricavando con la Intersection le coordinate del punto di intersezione e a quel punto fai la differenza di quota. G2 = Intersection(G1, ExteriorRing(PolygonZ)); se ti va bene ottieni un punto se ti va male ottieni un NULL. Poi una volta ottenuto il punto di intersezione G2, basta fare la differenza di quota tra i due punti. Prova cosi' e vedi quanti punti riesci a risolvere. Infatti il problema è che a causa delle approssimazioni dell'aritmetica finita, il punto quotato potrebbe non essere sulla planare del confine. Se fosse cosi' allora avresti troppi null e non arriveresti allo scopo. -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 630 iscritti al 1.12.2012 |
On Thu, 20 Dec 2012 20:37:44 +0100
Andrea Peri <[hidden email]> wrote: > NOn sono sicuro di aver compreso il problema in ogni suo aspetto. > > Io pero' proverei cosi'. > > La prima domanda che mi porrei è capire se i punti-quotati sono sulla > medesima proiezione planare della linea di contorno > del poligono3D. > ....... > ......... il punto quotato potrebbe non essere sulla > planare del confine. > Se fosse cosi' allora avresti troppi null e non arriveresti allo scopo. penso sia questo il problema principale perchè se i punti fossero allineati con i lati del contorno basta interpolare, come effettivamente fai, ma chissà perchè, mi sono immaginato dei poligoni forniti da qualche database ed una serie di punti rilevati in campagna: l'allineamento non è scontato :-( problema risolvibile mediante codice ad hoc, ma purtroppo non conosco abbastanza bene il codice disponibile per dire se c'è già qualcosa :-(( > ----------------- > Andrea Peri > . . . . . . . . . > qwerty àèìòù > ----------------- ciao, giuliano _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 630 iscritti al 1.12.2012 |
Il 20/12/2012 22:54, giuliano su Tiscali ha scritto:
> problema risolvibile mediante codice ad hoc, ma purtroppo non conosco > abbastanza bene il codice disponibile per dire se c'è già qualcosa :-(( si', certo, volevo vedere se era possibile risolverlo con comandi standard. saluti, e grazie. -- Paolo Cavallini - Faunalia www.faunalia.eu Full contact details at www.faunalia.eu/pc Nuovi corsi QGIS e PostGIS: http://www.faunalia.it/calendario _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 630 iscritti al 1.12.2012 |
Free forum by Nabble | Edit this page |