Erste Lösung ist offensichtlich korrekt.
Egal, wie viele Knoten der path enthält, die length()-Funktion erzählt einem immer, dass er doppelt so lang wäre, wie er wirklich ist.
Meine Version ist 8.0.2 auf XP.
Kommen andere OS und Versionen auf andere Ergebnisse?
Finde allerdings die Intuition dahinter nicht so 100%ig nachvollziehbar. Wenn ich ein paar Knoten zu einem Pfad zusammenfüge, dann würde ich davon ausgehen, dass es ein offener Pfad ist, es sei denn ich mache explizit, dass er geschlossen sein soll. In Anbetracht des Datentyps polygon, welches ein geschlossener Pfad ist und syntaktisch wie ein solcher aussieht, würde ich als Default genau den anderen Fall erwarten.
Vielleicht hab ich deswegen nicht so genau hingeguckt - oder auch, weil mein Fall immer genau das doppelte lieferte.
Vielleicht hat man das extra so gemacht, damit man mit der Nase darauf stösst. Der 3. Parameter “open/closed” ist ja auch nicht im Datensatz (Tabelle) sichtbar. Ein echter Schwachsinn! Von Mathematik muss der Erfinder nicht viel verstanden haben!
Schade, sonst hätte ich ja gleich den richtigen erwischt
Von Mathematik muss der Erfinder nicht viel verstanden haben!
Von Usability wohl auch nicht. Hatte mich ein bisschen mit dem path-Datentyp (s. hier) auseinandergesetzt und vermute es auch für einige andere der geometrischen Datentypen. Sie stehen zur Verfügung, aber man kann nicht so richtig was damit anfangen.
Habe bisher keine Möglichkeit gefunden, einen Pfad zu verlängern (da drängt sich doch der ‘||’-Operator geradezu auf) oder auf einzelne Element mit Hilfe der Index-Schreibweise zuzugreifen.
Für mich sieht das wie eine irgendwann mal angefangene und nicht zu Ende geführte Baustelle aus. Insofern ganz schön überflüssig. Kann ich alles ohne grossen Aufwand mit 'nem point[]-Array genauso machen.
:?:
Kommt man an die einzelnen Datentypen eigentlich auf einer tieferen Ebene ran? Ich meine jetzt nicht bei Bytes, sondern vielleicht auf Zeichen-Ebene. Es müsste sich doch jeder Datentyp in eine Zeichenkette umwandeln lassen können und - korrekte Syntax vorausgesetzt - wieder zurück.
Hier haste schon mal Pech gehabt. Ansonsten musste Dich noch ziemlich Anstregen.
Genau, so isses. Ich wüßte kein Einsatzgebiet für das unflexible Zeug.
Du wirst auch nichts finden. Schau dir mal die Funktionen für die Typen an. Und über den Array-Index kann man auch nicht zugreifen. Die Fehlermeldung schreit dann immer: “Ich bin kein Array”. Als intern wohl als Text abgelegt.
Für mich persönlich sehe ich auch keine Anwendungsgebiet, aber vielleicht hatte da jemand mal 'ne Anwendung für.
Stimmt. Aber hatte der Entwickler auch schon den Array-Typ zur Verfügung?
Ich glaube nicht. Da ist nichts machbar. Mann kennt ja auch nicht die innere Struktur, ansonsten könnte man eine CAST-Funktion schreiben.