Umwandlung von PostGis.Polygon ind java.awt.polygon?

Hallo erstmal,

Da das hier ja mein erster Post ist, werd ich mich mal kurz vorstellen :slight_smile:

Ich bin der Gregor und immoment Student an der FH Kärnten-Geoinformation.

Und nun zu meinem Problem: Ich habe aus einer PostGIS-DB polygone in Java importiert. der Dateity ist immoment org.postgis.Polygon. Ich bräuchte aber java.awt.Polygon. Hat da jemand eine Idee oder hab ich schon vorher was falsch gemacht?

Habe die Daten als PGgeometry importiert. in der DB waren sie als Multipolygon abgespeichert, welches ich dann auf einzelne Polygone heruntergebrochen hab.

Danke schon mal im Vorraus :slight_smile:

Ein Grüssle ins von mir geschätzte Alpenland!

Ich kenn mich mit Java zwar gar nicht aus, aber eventuell könnte dir das Jump-Projekt weiterhelfen.

Cu Uwe

  1. heisst das nicht “Dateityp” - sondern Klasse :slight_smile:

  2. java.awt.Polygon hat natuerlich konstruktoren - du kannst (musst vielleicht sogar) deine org.postgis.Polygon Objekte konvertieren …

ich würde dazu vielleicht versuchen die Klasse java.awt.Polygon abzuleiten - also:

public class PGPoly extends java.awt.Polygon {

  public PGPoly(org.postgis.Polygon copy) {

     super(_xpoints(copy), _ypoints(copy), _npoints(copy));
  }

  private static int[] _xpoints(org.postgis.Polygon poly) ... 

  private static int[] _ypoints(org.postgis.Polygon poly) ... 

  .. usw ..

}

ob dies elegant ist haengt von den umständen deiner anwendung ab …
vielleicht reicht es auch eine methode zu bauen, die aus dem einen das andere erzeugt.

vielleicht (sehr wahrscheinlich) gibts auch bibliotheken die den ganzen kram bereits erledigen

ich sehe gerade … die attribute des Polygon von awt sind protected bzw. public. dh. du kannst dir das mit den private static methoden sparen -

einfach im super-construktor den default aufraufen -> super();

und hernach die felder entsprechend des postgis polygons initialisieren …

sag mal, dein Nickname… hat der was besonderes zu bedeuten? :angry:

hä? wieso fragst du?