Datentyp path

Tach auch,

ich versuche den PostgreSQL-eigenen geometrischen Datentyp path zu benutzen. Leider wird der bisher nicht so sonderlich gut unterstützt, will meinen kaum brauchbare Funktionen vorhanden. Man kommt auch nicht so wirklich an den Datentyp selbst ran. Die array-artige Indexierung (wie z.B. bei point oder lseg) funzt damit nicht.

Viel helfen würde mir schon, wenn ich einen Cast zu varchar zu Stande brächte. Dann kann ich Werte auslesen, casten, manipulieren und wieder einlesen.

Hat jemand ne Idee?

CU
Fröstel

Information is a weapon of mass destruction
[Faithless]

hi,

ich hab mit diesen typen noch nicht gearbeitet aber evtl hilft dir die postgis erweiterung für postgresql weiter. postgis ist ja für geographische daten gedacht und da solltest du das auch abbilden können und hier sind die funktionen wesentlich mehr und ausgereifter.

aber das ist jetzt nur eine vermutung…

cu tb.

Hi,

PostGIS wäre für die Sache an sich bestimmt alles andere als ungeeignet, soll aber selbst implementiert werden.

Es macht auch nur Spaß mit den Datentypen zu arbeiten, wenn man sie auch zu packen kriegt. Sieht bisher aber schlecht aus. Den Datentyp point oder lseg kann man noch ganz gut verwenden, weil man über Inidizes an die Inhalte rankommt. Wenn man also

(5,7)::point AS coords

hat, kommt man mit

SELECT coords[0]

zum Ergebnis 5. Bei

((2,2),(3,5))::lseg AS segment

erhält man mit

SELECT segment[0]

den Punkt (2,2) und kann mit

SELECT (segment[0])[0]

auch auf die x-Koordinate direkt zugreifen.
Dadurch kann man mit den Datentypen arbeiten und sich auch leicht 'nen Cast dazu schreiben.

Beim path gibt es die ein oder andere Umwandlungsfunktion in andere geometrische Datentypen, z.B. polygon, und ein paar mehr oder weniger nützliche Operatoren (mit +/- kann man den ganzen Pfad schön im Koordinatensystem verschieben…) und Funktionen. Habe aber bisher keinen Weg gefunden einen Pfad um einen Punkt zu verlängern - geschweige denn - zu verkürzen. :frowning: Sowas würde sich doch anbieten, wie ich meine. Bisher hatte wohl noch keiner das Problem und deswegen nicht darüber nachgedacht.

CU
frö

Hi,

habe jetzt alles auf point[]-Arrays angelegt und auf path verzichtet. Arrays sind doch etwas besser versorgt in PostgreSQL und auch in SQL an sich.

CU
frö