Karte mit Suchfunktion erstellen

Mr.bell

Newbie
Registriert
März 2014
Beiträge
1
Hay Leute,

Vorab einmal, ich bin mir nicht ganz sicher ob das hier das richtige unterforum ist, aber ich hoffe mal das ist passend ;)

Es geht darum das ich eine Karte erstellen soll, auf der alle Soldaten aus dem ersten Weltkrieg, welche aus meiner Heimat kommen aufgelistet sind, und das wenn ich einen von ihnen genauer betrachten wille dann sehen köntte wo er stationiert war und Co. ( also eine Animation auf der Karte, das ganze müsste dann im endprodukt offline sein, und zb. In einem museeum von interessierten Leuten angeschaut werden können)

Ich habe keine Ahnung wie ich da rangehen soll, ich Kenn mich mit programmieren nicht so gut aus und hoffe das ihr vllt. Ne Idee habt....



Vielen Dank schon im Vorraus

Euer Mr. Bell
 
Wer beauftragt dich denn mit so was, wenn du davon keine Ahnung hast? Welche Kenntnisse in Sachen Programmierung hast du denn? Wir müssen ja wissen, was wir voraussetzen können und was wir erklären müssen.
 
Hallo, habe ein ähnliches Problem, nur sind es bei mir keine Soldaten, sondern ich will es eher als eine Art "Stammbaum" mit den Namen meiner UR-ur-ur...großeltern machen, da meine Familie vor 300 Jahren aus Frankreich eingewandert ist und sich über die Jahre wieder in viele Länder aufgspalten hat. Nun möchte ich quasi auf einer Karte die Namen an die Orte "binden" und über eine Zeile suchen lassen können. Mit welcher Programmiersprache ließe sich denn da was machen?
 
Du wirst das ganz elegant splitten müssen.
1.) Datenstruktur... Hier bietet sich nach meinem Dafürhalten ein relationales Datenbanksystem, z.B. MariaDB, an. Du hast eine Liste von Personen, du hast eine Liste von Orten, jetzt musst du noch zuordnen, in welcher Zeitspanne jede Person wo war. Sowas ist fast eine typische Kreuztabelle.
2.) Backend-Logik: Was passiert bei einer Suchanfrage? Wie werden die Daten überhaupt eingegeben? Wie werden die Daten ausgegeben?
3.) Frontend-Logik: Wie soll meine Eingabemaske aussehen? Wie soll meine Karte aussehen?
 
Danke für die Anleitung, hast du jetzt noch eine Programmiersprache auf Lager mit der sich das relativ leicht machen ließe?
 
Nö. Was weiß ich, was du für Vorkenntnisse hast? Ich würde, aus Gewohnheit, ein PHP-basiertes Webinterface schreiben. Andere würden, weil das ihr Fach ist, auf Python, Perl, C, Java,... setzen.

Und wie definierst du "relativ leicht"? Relativ leicht für einen Fachinformatiker oder Diplomingenieur, der schon zig Jahre Berufserfahrung hat und ähnliche Probleme bereits auf dem Tisch hatte? Oder relativ leicht für einen DAU, der von Programmieren so viel versteht wie ich vom bemalen sorbischer Ostereier?
 
Daaron schrieb:
Nö. Was weiß ich, was du für Vorkenntnisse hast? Ich würde, aus Gewohnheit, ein PHP-basiertes Webinterface schreiben. Andere würden, weil das ihr Fach ist, auf Python, Perl, C, Java,... setzen.

Alles klar, ist logisch, hätt ich mir denken können.

Daaron schrieb:
Und wie definierst du "relativ leicht"? Relativ leicht für einen Fachinformatiker oder Diplomingenieur, der schon zig Jahre Berufserfahrung hat und ähnliche Probleme bereits auf dem Tisch hatte?

Relativ leicht für jemanden mit Vorkenntnissen verschiedener Programmiersprachen. Jetzt nicht direkt Java, C , oder sowas, aber sozusagen die Grundmechaniken (also um es mal verständlich auszudrücken: ich entwickel seit ein paar Jahren Spiele mit dem UDK und Unity, beherrsche also die Sprachen die man für diese Engines benötigt. Die sind aber logischerweise nicht wirklich brauchbar für sowas. Deshalb hab ich mich entschieden noch eine "ordentliche" Programmiersprache zu lernen und wollte halt wissen welche sich für sowas lohnt.)


Daaron schrieb:
Oder relativ leicht für einen DAU, der von Programmieren so viel versteht wie ich vom bemalen sorbischer Ostereier?

Den Vergleich find ich geil :D
 
Wie gesagt, ich würde das Problem mit einem PHP-basierten MVC-Framework angehen. Ich würde entweder Zend nehmen (weil das die Grundlage für Magento bildet, mit dem ich mich schon oft herumgeplagt habe), oder aber Symfony (weils mich tatsächlich interessiert).

Du musst dir halt auch überlegen, wo deine Karte laufen soll. Woher kommen deine Kartendaten, also die tatsächliche Karte, auf der du deine Geo-Informationen darstellst? Welche Voraussetzungen hat dein Ziel-System? Einzelplatz oder Multi-User (oder eben gar Web-basiert)?
 
Daaron schrieb:
Wie gesagt, ich würde das Problem mit einem PHP-basierten MVC-Framework angehen. Ich würde entweder Zend nehmen (weil das die Grundlage für Magento bildet, mit dem ich mich schon oft herumgeplagt habe), oder aber Symfony (weils mich tatsächlich interessiert).

Also würdest du quasi erstmal PHP in Verbindung mit einem entsprechenden Framework empfehlen? Das würd ich mir dann nämlich direkt mal anschauen. Das würde dann aber heißen das die Applikation nicht offline verfügbar ist, oder?

Daaron schrieb:
Du musst dir halt auch überlegen, wo deine Karte laufen soll. Woher kommen deine Kartendaten, also die tatsächliche Karte, auf der du deine Geo-Informationen darstellst? Welche Voraussetzungen hat dein Ziel-System? Einzelplatz oder Multi-User (oder eben gar Web-basiert)?

Sorry ich versteh nicht so ganz. Könnte man denn nicht rein theoretisch einfach eine Karte von meinetwegen Google Maps (nur ein Beispiel) nehmen und die irgendwie "integrieren"? (Tut mir echt leid wenn das blöd klingt, aber ich bin auf dem Gebiet wie schon gesagt totaler Anfänger). Wenn ich mich nicht irre müsste doch ein Einzelplatzsystem reichen, da nur ich als einzelner Benutzer Zugriff hab, muss man doch kein Mehrbenutzersystem nutzen oder? Wie gesagt Web-App eigentlich eher nicht, falls das möglich ist, wenns mit PHP nicht anders geht ist aber auch ne Web-App ok.


Auf jeden Fall jetzt schon mal ein großes Danke das du mir so hilfst :)
 
GameDev schrieb:
Also würdest du quasi erstmal PHP in Verbindung mit einem entsprechenden Framework empfehlen?
Nein, ich würde es nicht empfehlen, ich würde es aufgrund meines Berufsbildes auswählen. Ich werde mich hüten, hier irgend etwas zu empfehlen. Du kannst dich gemäß deiner Vorkenntnisse auf irgend eine Sprache stürzen.

Das würde dann aber heißen das die Applikation nicht offline verfügbar ist, oder?
Du brauchst einen PHP-fähigen Webserver und höchstwahrscheinlich noch einen SQL Server. Das setzt aber keine Internetverbindung voraus, kann alles getrost auf dem Localhost laufen.

Könnte man denn nicht rein theoretisch einfach eine Karte von meinetwegen Google Maps (nur ein Beispiel) nehmen und die irgendwie "integrieren"?
Klar kann man, wenn man die Google Maps API verwendet und eine permanente Internetverbindung hat. Kein Internet -> kein Google Maps (und erst recht keine API).
Open Street Map hat hingegen einen Offline-Modus, also solltest du eher da gucken.

ABER: Brauchst du sowas? Brauchst du eine präzise, zoom- und drehbare Karte von einem riesigen Gebiet? Ich würd sagen: nein. Ich würde statt dessen eine stark vereinfachte Weltkarte als SVG bauen (oder online was passendes suchen) und meine Wanderbewegungen und Ansiedlungen direkt in diese SVG einbetten bzw. darüber legen.

Wie gesagt Web-App eigentlich eher nicht, falls das möglich ist, wenns mit PHP nicht anders geht ist aber auch ne Web-App ok.
Denk mal anders rum: Wärs nicht witzig, deiner entfernten Verwandschaft in Frankreich, Spanien, Italien,... einfach einen Link zu schicken und die könnten da selbst in der Karte rumgucken, wer wo hin gedriftet ist?
Warum auf eine Desktop-Anwendung beschränken, wenn eine Webanwendung kein signifikanter Mehraufwand darstellt?

Für mich als Webentwickler würde der Weg immer über den Browser führen, das ist mein natürlicher Lebensraum. Sauber geschrieben läuft der Mist dann global, vom 4" Smartphone bis zum 27" UHD-Monitor, unter iOS, Linux, Windows... Das erreichst du nie mit einer Desktop-Anwendung.
 
Daaron schrieb:
Nein, ich würde es nicht empfehlen, ich würde es aufgrund meines Berufsbildes auswählen. Ich werde mich hüten, hier irgend etwas zu empfehlen. Du kannst dich gemäß deiner Vorkenntnisse auf irgend eine Sprache stürzen.

Wenn ich PHP wählen würde, würdest du mir ein wenig helfen? Ich würde mich dafür auch irgendwie revanchieren :) (, vllt. mein neuse Vollpreisspiel gratis oder sowas ^^ ).

Daaron schrieb:
Du brauchst einen PHP-fähigen Webserver und höchstwahrscheinlich noch einen SQL Server. Das setzt aber keine Internetverbindung voraus, kann alles getrost auf dem Localhost laufen.

Alles klar, ich denke das lässt sich machen (Microsoft SQL Server 2014 Express ist ok, oder? Reicht als Webserver auch einfach so ein gratis Webspace?)

Daaron schrieb:
Klar kann man, wenn man die Google Maps API verwendet und eine permanente Internetverbindung hat. Kein Internet -> kein Google Maps (und erst recht keine API).
Open Street Map hat hingegen einen Offline-Modus, also solltest du eher da gucken.

ABER: Brauchst du sowas? Brauchst du eine präzise, zoom- und drehbare Karte von einem riesigen Gebiet? Ich würd sagen: nein. Ich würde statt dessen eine stark vereinfachte Weltkarte als SVG bauen (oder online was passendes suchen) und meine Wanderbewegungen und Ansiedlungen direkt in diese SVG einbetten bzw. darüber legen.

Nein, da hast du recht, eine riesige zoom- und drehbare Karte muss es nicht sein, es müssten aber schon die Städte drauf sein.

Daaron schrieb:
Denk mal anders rum: Wärs nicht witzig, deiner entfernten Verwandschaft in Frankreich, Spanien, Italien,... 1. einfach einen Link zu schicken und die könnten da selbst in der Karte rumgucken, wer wo hin gedriftet ist?
Warum auf eine Desktop-Anwendung beschränken, wenn eine Webanwendung 2. kein signifikanter Mehraufwand darstellt?

Für mich als Webentwickler würde der Weg immer über den Browser führen, das ist mein natürlicher Lebensraum. Sauber geschrieben läuft der Mist dann global, vom 4" Smartphone bis zum 27" UHD-Monitor, unter iOS, Linux, Windows... Das erreichst du nie mit einer Desktop-Anwendung.

1. Das ist auch wieder wahr... Wär schon schön denen einfach nen Link zu schicken.
2. Was meinst du mit "kein signifikanter Mehraufwand"?
 
GameDev schrieb:
Wenn ich PHP wählen würde, würdest du mir ein wenig helfen? Ich würde mich dafür auch irgendwie revanchieren :) (, vllt. mein neuse Vollpreisspiel gratis oder sowas ^^ ).
Das Prinzip eines Forums ist das typische Frage-Antwort-Spiel. Wenn du spezielle Probleme hast, bei denen du trotz Recherche nicht weiter kommst, dann wird dir hier sicher jemand Tips geben können, nicht nur ich.

Alles klar, ich denke das lässt sich machen (Microsoft SQL Server 2014 Express ist ok, oder? Reicht als Webserver auch einfach so ein gratis Webspace?)
MS SQL würd ich nicht einmal mit der Kneifzange anfassen. Wenn du dir den Klumpen ans Bein nagelst, hängst du für immer und ewig an Windows fest. Windows Server sind abartig teuer und pure Geldverschwendung. Den Mist nimmt man nur, wenn es das Geschäftsumfeld zwingend erwartet. Für alles andere ist Open Source 1000x besser.
Mein Tip: MariaDB oder, falls das nicht will, MySQL. Der Kram läuft wirklich überall... und es hat schon seinen Grund, warum z.B. Wikipedia auf MariaDB läuft.

Und was das Hosting angeht: Wenn du den Kram nicht öffentlich zugänglich machen willst, brauchst du dir darum gar keine Gedanken zu machen. Da reicht XAMPP auf der heimischen Maschine.

2. Was meinst du mit "kein signifikanter Mehraufwand"?
Du musst dich eh hinsetzen und büffeln, dich eh mit einer Sprache und deren Konzepten auseinander setzen. Du musst dir das notwendige Wissen für die Strukturierung deiner Daten aneigenen. Du musst dich darüber informieren, woher du deine Kartendaten beziehst, wie sie strukturiert sind, wie sie angesprochen werden und wie du sie anzeigst...
70-80% deiner gesamten Arbeit ist vollkommen identisch, egal ob du nun auf Basis von Java, C#,... eine Desktop-Anwendung schreibst, oder ob du mit Perl, Python, PHP,... eine einfache Webanwendung baust.
 
Zurück
Oben