Einfärben von Gemeinden auf einer Karte

Reggie()

Bekanntes Mitglied
Hallo Coder,
wie würdet ihr diese Aufgabe lösen? Nehmen wir zB. die Bayernkarte. Dort gibts über 700 Gemeinden. Ich würde gerne ein Programm schreiben, dass eine Excel-Liste importiert (bestehend aus Gemeinde-Name und Wert) und die Gemeinden anhand einer frei wählbaren Farbskala einfärbt.
 

Thallius

Top Contributor
Würde ich gar nicht lösen. Ohne eine spezielle Karte, die alle gemeindegrenzen eingezeichnet hat, dürfte diese Aufgabe nahezu unmöglich werden oder halt eine sehr ungenaue Sache.
 

krgewb

Top Contributor
Die Daten aus der Excel-Datei kannst du in einer Map zwischenspeichern.
Es gibt bereits Bilder von Bayern-Karten mit den einzelnen Gemeinden. Zum Beispiel hier: https://www.google.de/imgres?imgurl...act=8#h=688&imgrc=TJCFeAwFdvSyGM:&vet=1&w=780
Zur Übung darf man das verwenden aber man darf das Programm dann nicht veröffentlichen.
Alernativ gibt es hier auch solch eine Karte: https://de.fotolia.com/id/58440588 Auf der Webseite kann man eine Lizenz für das Bild kaufen.

Ich würde dann für jede Gemeinde ein separates Bild machen, bei dem ich die Größe der Bilddatei beibehalte und alle anderen Gemeinden mit Paint wegmache. Danach mit Gimp den Hintergrund transparent machen.
In dem Java-Programm kannst du dann die Bilder reinladen und umfärben.
 

Reggie()

Bekanntes Mitglied
wie wärs wenn ich die Karte zwar nicht selber zeiche, aber eine fretige Karte "zerlege" in Gemeindestückchen, die ich dann einzeln einfärben kann? ginge das?
Plan B: wenn ich die Karte selber zeichnen muss, sind dann die Linien (Gemeinde/Landkreis-Grenzen) die Abgrenzungen der Objekte Gemeinde?
Ich stelle es mir so vor (mal ins Blaue gesponnen (daher stark vereinfacht)):
Java:
public class Gemeinde {
  String GemeindeName;  
  Array<Point> grenzPunkte;
  Point p;
  int wert;

  public Gemeinde(String n, Array<Point> p) {
    grenzPunkte= new ArrayList<Point>();
    GemeindeName = n;
    wert = null;
    }
    public ArrayList<Point> zeichneGemeindeGrenzen() {
      //aus Excel einlesen-Code und in x und y zwischenspeichern
      //for-Schleife Anzahl Punkte der Gemeinde      
      grenzPunkte.add(new Point(x,y));
   }
}
 

krgewb

Top Contributor
Du kannst es als Polygon zeichnen:
Java:
    protected void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        GeneralPath polygon = new GeneralPath();

        // Startpunkt
        polygon.moveTo(20.0, 500.0);

        polygon.lineTo(..., ...);
        polygon.lineTo(..., ...);
        polygon.lineTo(..., ...);
        ...

        g2.draw(polygon);
    }
 

Reggie()

Bekanntes Mitglied
Polygon, damit werde ich mal rumexperimentieren... vielleicht muss ich die Bayernkarte etwas "grober" zeichnen, um erstmal Aufwand zu sparen.
 

Thallius

Top Contributor
Also ich würde zusehen, dass ich diese Karte bekomme ohne Text in den einzelnen Gemeindefeldern. Dann würde ich mir einmal die Mühe machen und für jede Gemeinde eine Pixelposition irgendwo innerhalb des zugehörigen Bereiches definieren. Und dann würde ich einfach mit einem simplen Floodfill Algorytmus die Bereiche füllen.
 

krgewb

Top Contributor
Du kannst es als Polygon zeichnen:
Java:
    protected void paintComponent(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        GeneralPath polygon = new GeneralPath();

        // Startpunkt
        polygon.moveTo(20.0, 500.0);

        polygon.lineTo(..., ...);
        polygon.lineTo(..., ...);
        polygon.lineTo(..., ...);
        ...

        g2.draw(polygon);
    }
Hoppla. Damit zeichnet man nur die Grenzen auf der Karte. So kann man ein Polygon mit einer Farbe füllen:

Java:
Polygon meinPolygon = new Polygon(arrayMitDenXwerten, arrayMitDenYwerten, anzahlDerPunkte); 
g.fillPolygon(meinPolygon);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
F Bild einfärben Spiele- und Multimedia-Programmierung 5
G Pixel Häufigkeiten entsprechent einfärben Spiele- und Multimedia-Programmierung 6
YangLee Ausgabe von einer Bewegung bei mehrzeiligen Strings Spiele- und Multimedia-Programmierung 1
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
M Audio Track einer Musik CD abspielen mittels vlcj-Bibliothek Spiele- und Multimedia-Programmierung 0
Meeresgott LWJGL 3 Problem mit einer Texture Spiele- und Multimedia-Programmierung 4
D Programmierung einer Tor-Anzeige Spiele- und Multimedia-Programmierung 8
C Optimale Wegberechnung einer KI Spiele- und Multimedia-Programmierung 6
T Pong Hilfe bei einer Website Spiele- und Multimedia-Programmierung 4
S ECS: "deep copy" einer Entity-Vorlage Spiele- und Multimedia-Programmierung 9
R Aufruf einer render-Methode Spiele- und Multimedia-Programmierung 12
E A-Stern Algorithmus Problem und Implementierung einer Map Spiele- und Multimedia-Programmierung 6
J Frage zum Einlesen einer .wav in ein byte Array Spiele- und Multimedia-Programmierung 3
J Spielfiguren laufen lassen auf einer html Tabelle mit Hilfe von Servlets Spiele- und Multimedia-Programmierung 2
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
M Kamera "am Rande einer Kugel bewegen" Spiele- und Multimedia-Programmierung 4
B Den KeyListener in einer JavaFXML Application benutzen Spiele- und Multimedia-Programmierung 2
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
F Das sag mir einer Java ist plattform unabhänig ! Spiele- und Multimedia-Programmierung 10
M Scrolling einer 2D Map Spiele- und Multimedia-Programmierung 8
J In einer While-Schleife auf Event warten Spiele- und Multimedia-Programmierung 3
TheSorm Collision an einer bestimmten Seite eine Rectangles abfragen Spiele- und Multimedia-Programmierung 3
windl Frage zu Airplay und zur Mitarbeit bei einer Mediaanlage Spiele- und Multimedia-Programmierung 0
A Aufbau einer JOGL Anwendung Spiele- und Multimedia-Programmierung 12
L Werte aus einer .yml Datei lesen Spiele- und Multimedia-Programmierung 9
H Java3D - Textur aufs innere einer Sphere mappen Spiele- und Multimedia-Programmierung 9
F Download und Update einer Java-Anwendung Spiele- und Multimedia-Programmierung 10
D Problem beim bewegen einer Figur Spiele- und Multimedia-Programmierung 2
B Video von einer IP kamera Spiele- und Multimedia-Programmierung 5
W Java3D: Eckkoordinaten einer Box herausfinden Spiele- und Multimedia-Programmierung 18
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
2 Ein Zufallsweg bzw. Weg in einer 2dim Matrix finden. Spiele- und Multimedia-Programmierung 21
aze Schnittmenge zwischen Linie und einer Area wegschneiden Spiele- und Multimedia-Programmierung 3
A Bild einer Webcam auffangen Spiele- und Multimedia-Programmierung 20
G Ballerkennung aus einer Bilddatei Spiele- und Multimedia-Programmierung 24
B Generierung einer Wertetabelle aus einem Bild Spiele- und Multimedia-Programmierung 3
D Problem beim Öffnen einer PHP für eine Highscore Spiele- und Multimedia-Programmierung 5
M Realisierung einer Sichtweise in Java2D Spiele- und Multimedia-Programmierung 3
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
H Screenshot einer Graphics2D Anwendung erstellen Spiele- und Multimedia-Programmierung 6
F Simulation einer Magnetischen Flasche Spiele- und Multimedia-Programmierung 17
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
J Fehlverhalten einer Spielfigur Spiele- und Multimedia-Programmierung 7
N Jogl Probleme mit dem Buffer beim laden einer Textur Spiele- und Multimedia-Programmierung 2
M Das Frequenzspektrum einer WAV/MP3-Datei anzeigen Spiele- und Multimedia-Programmierung 6
M Rechteck erkennung innerhalb einer Matix Spiele- und Multimedia-Programmierung 4
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
E Pinball Abprall an einer schrägen Bande Spiele- und Multimedia-Programmierung 19
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
E Hilfe bei einer GUI Programmierung mit Graph Spiele- und Multimedia-Programmierung 30
A Tutorial für die Entwicklung einer Fussball-KI gesucht Spiele- und Multimedia-Programmierung 7
S Rotation relativ zur Rotation einer anderen Transform Group Spiele- und Multimedia-Programmierung 3
A Screenshots von einer Scene erstellen Spiele- und Multimedia-Programmierung 5
G Land aus einer Weltkarte selektieren Spiele- und Multimedia-Programmierung 10
D Kräftesimulation auf einer 2D-Oberfläche Spiele- und Multimedia-Programmierung 5
T Geschwindigkeit einer Animation aendern Spiele- und Multimedia-Programmierung 6
G Ermitteln eines Punktes in einer anderen TransformGroup Spiele- und Multimedia-Programmierung 2
N Background in Java3D ähnlich einer Skybox erzeugen Spiele- und Multimedia-Programmierung 5
H zB Punkte darstellen und mit einer Linier verbinden Spiele- und Multimedia-Programmierung 5
F Darstellung einer tierischen Zelle Spiele- und Multimedia-Programmierung 3
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
F Das SPiel ruckelt nach einer Zeit Spiele- und Multimedia-Programmierung 19
D wieder einer von anfang an. Spiele- und Multimedia-Programmierung 4
M Darstellung einer schwingenden Membran? Spiele- und Multimedia-Programmierung 23
raptorrs Teile einer CAD-Assembly Gruppe in JAVA animieren? Spiele- und Multimedia-Programmierung 3
K Beschriftung von Punkten in einer "Punktwolke" Spiele- und Multimedia-Programmierung 2
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
K Klick in der nähe einer Strecke Spiele- und Multimedia-Programmierung 14

Ähnliche Java Themen

Neue Themen


Oben