Huhu,
ich habe zwei Array-Listen und würde gerne die darin enthaltenen Daten vergleichen.
Die Daten, die in beiden Listen doppelt vorkommen, sollen dann gelöscht werden.
Bisher ist es so, daß ich zwei Polygone übergeben bekomme (polygon1 und polygon2)
Zur Kontrolle habe ich das erste Polygon mit 4 Koordinatenpaaren und
das zweite Polygon mit 6 Koordinatenpaaren erstellt.
Dann habe ich eine Ausgabe geschrieben, um zu sehen, daß auch die korrekten
Koordinatenpaare ausgegeben werden.
Ich habe aber überhaupt keine Ahnung, wie ich jetzt einen Vergleich anstellen soll.
Hier erstmal der Code
So, wie unschwer zu sehen ist, lade ich die KP (Koordinatenpaare) der Polygone ein
und gebe sie aus. Bei der Ausgabe werden die Daten allerdings schon aus der Array-Liste
gelesen.
Im Prinzip geht es hier um die Verschmelzung zweier Polygone.
(Ob die Polygone sich überhaupt verschmelzen lassen, also streckenbenachbart sind,
prüfe ich vorher in anderen Methoden...)
Wenn ich nun die beiden Listen vergleichen könnte und die doppelten KP rausschmeißen
würde, dann...tja dann wird´s auch nochmal richtig haarig.
Irgendwie müßte ich ja die beiden Array-Listen, mit den dann gültigen KP (also keine doppelten)
in ein weiteres Array packen und sortieren, so daß ein neues Polygon entsteht.
(zusammengesetzt aus den beiden einzelnen Polygonen)
Ist für meine Begriffe doch recht heftig...
Gaya
ich habe zwei Array-Listen und würde gerne die darin enthaltenen Daten vergleichen.
Die Daten, die in beiden Listen doppelt vorkommen, sollen dann gelöscht werden.
Bisher ist es so, daß ich zwei Polygone übergeben bekomme (polygon1 und polygon2)
Zur Kontrolle habe ich das erste Polygon mit 4 Koordinatenpaaren und
das zweite Polygon mit 6 Koordinatenpaaren erstellt.
Dann habe ich eine Ausgabe geschrieben, um zu sehen, daß auch die korrekten
Koordinatenpaare ausgegeben werden.
Ich habe aber überhaupt keine Ahnung, wie ich jetzt einen Vergleich anstellen soll.
Hier erstmal der Code
Code:
// -------------------------------
// --- Polygone zusammenfuegen ---
// -------------------------------
public static void mergePolygons(Polygon a, Polygon b)
{
ArrayList polygon1 = new ArrayList(); // Array fuer das erste Polygon
// Einlesen und Ausgabe aller KP von Polygon 1
for (int i=0;i<a.getSize();i++){ // Alle KP von Polygon 1
polygon1.add(a.getCoordinate(i)); // einlesen und in dem neuen
} // Array speichern
System.out.println("Punkte von Polygon 1: "); // Ausgabe der gefundenen KP von
for (int i=0;i<polygon1.size();i++){ // Polygon 1. Die Daten werden
Coordinate poly1 = (Coordinate)polygon1.get(i); // hier schon aus dem neuen
System.out.println("X-Koordniate: "+(poly1.x)+ // Array ausgelesen.
" Y-Koordinate: "+(poly1.y));
}
ArrayList polygon2 = new ArrayList(); // Array fuer das zweite Polygon
// Einlesen und Ausgabe aller KP von Polygon 2
for (int j=0;j<b.getSize();j++){ // Alle KP von Polygon 2
polygon2.add(b.getCoordinate(j)); // einlesen und in dem neuen
} // Array speichern
System.out.println("Punkte von Polygon 2: "); // Ausgabe der gefundenen KP von
for (int j=0;j<polygon2.size();j++){ // Polygon 2. Die Daten werden
Coordinate poly2 = (Coordinate)polygon2.get(j); // hier schon aus dem neuen
System.out.println("X-Koordniate: "+(poly2.x)+ // Array ausgelesen.
" Y-Koordinate: "+(poly2.y));
}
// Fuer Polygon 2 wurde eine neue eigene ArrayList angelegt,
// da ansonsten die schon vorhandenen Einträge des ersten
// Polygons mit ausgegeben würden.
So, wie unschwer zu sehen ist, lade ich die KP (Koordinatenpaare) der Polygone ein
und gebe sie aus. Bei der Ausgabe werden die Daten allerdings schon aus der Array-Liste
gelesen.
Im Prinzip geht es hier um die Verschmelzung zweier Polygone.
(Ob die Polygone sich überhaupt verschmelzen lassen, also streckenbenachbart sind,
prüfe ich vorher in anderen Methoden...)
Wenn ich nun die beiden Listen vergleichen könnte und die doppelten KP rausschmeißen
würde, dann...tja dann wird´s auch nochmal richtig haarig.
Irgendwie müßte ich ja die beiden Array-Listen, mit den dann gültigen KP (also keine doppelten)
in ein weiteres Array packen und sortieren, so daß ein neues Polygon entsteht.
(zusammengesetzt aus den beiden einzelnen Polygonen)
Ist für meine Begriffe doch recht heftig...
Gaya