Was sind Ihre größten Herausforderungen bei der Entwicklung von GIS-Software?
Codiert es? Ist es das Verstehen von Kartographie / Geographie / etc Konzepten (wie Projektionen)? Oder andere Schwierigkeiten?
Was sind Ihre größten Herausforderungen bei der Entwicklung von GIS-Software?
Codiert es? Ist es das Verstehen von Kartographie / Geographie / etc Konzepten (wie Projektionen)? Oder andere Schwierigkeiten?
Antworten:
Aus meiner Erfahrung als Entwickler, der vor fast 5 Jahren in die ESRI / GIS-Entwicklungsszene eingestiegen ist:
Wie Sie sehen, sehe ich die ESRI-Entwicklungsszene ziemlich negativ. Für diejenigen, die einen geografischen Hintergrund haben, sind die Möglichkeiten sicherlich ziemlich aufregend. Aber für jemanden wie mich, der relationale Datenbanken, objektorientiertes Programmieren und weit offene Möglichkeiten für kreative Lösungen liebt, ist die GIS-Entwicklung mit ESRI sehr einschränkend und unerfüllbar. Das ist eine Schande, weil mir die Old-School-Leute sagen, dass es vor der Abstimmung mit Microsoft eine überlegene Umgebung war. Ich hoffe aufrichtig, dass die Open Source-Community weiterhin Innovationen hervorbringt.
Große Datenmengen. Die richtige Methode zum Extrahieren großer Datenmengen mithilfe der Web-Technologie zu finden, war eine Herausforderung. Es können entweder viele Daten und eine schlechte Leistung vorliegen oder es werden viel weniger Daten angezeigt, aber möglicherweise werden die falschen Informationen übermittelt.
Ich bin kein GIS-Entwickler. Ich bin jedoch ein GIS-Modellbauer:
Herausforderungen:
Datenerfassung, -aggregation, -disaggregation, -zusammenführung und -aufteilung: Ich erhalte Daten aus verschiedenen Quellen für verschiedene Projekte. Das größte Problem besteht normalerweise darin, alle Daten für dasselbe geografische Paket / Gebiet abzurufen. Normalerweise muss ich für jeden Datensatz einige der oben genannten Techniken anwenden, um eine zusammenhängende Stichprobe für das Projekt zu erhalten. Dies erhöht die Fehlerwahrscheinlichkeit und beeinträchtigt unsere Präzision.
Ich bin kein Entwickler. Ich wiederhole, ich bin kein Entwickler: Wenn Sie nette Leute über SOAP-, SHAMPOO-, REST-, GIS-T-Indizes usw. sprechen, bedeutet dies Ihnen viel. Für mich ist es meistens Jargon. Normalerweise habe ich eine große Lernkurve oder einen steilen Aufstieg, um einige der einfachen Dinge zu erledigen.
Die Kluft zwischen FOSS und Proprietary Software: Ich liebe QGIS und Postgis zu Tode; Ich habe sie buchstäblich auf jeder Maschine installiert; Wenn ich jedoch eine transportbasierte Analyse durchführen möchte, muss ich auf TransCAD oder EMME2 / 3 zurückgreifen. Jedes kostet ungefähr $ 15.000 mit allen Schnickschnack. Um ehrlich zu sein, könnten all diese Probleme gelöst werden, wenn es ein networkx-Paket für shp-Dateien gäbe.
Problem mit mehreren Disziplinen: Ich bin mit Transportmodellierungstechniken bestens vertraut. Wie demografisch auch immer, ich muss, soweit ich das beurteilen kann, ausgefeilte R-Tools verwenden, um meine Daten zu verarbeiten. Das GIS-Problem ist also, dass es sich bei GIS um ein multidisziplinäres Feld handelt, in dem es schwierig ist, alleine zu überleben.
Mangel an gut etablierten Tools und Software für den Übergang von Landnutzung zu Vektorlandnutzung : Ich sehe eine Zukunft, in der ein Tool das GEOEYE-Satellitenbild analysiert und die darin enthaltene Landnutzung mit einer Vektordatenbank (wie erstellt) vergleicht
Manchmal ist es schneller, Dinge in Excel zu erledigen / "Ihr bevorzugtes Tabellenkalkulationsprogramm ist hier: Manchmal möchte ich eine Transitanalyse durchführen, es ist viel schneller, die Daten zu erfassen, sie in Excel abzulegen, die Formeln zu bearbeiten und dann die Daten zurückzuliefern in postgis als csv-datei speichern und die map neu generieren. Eine solche aufteilung sollte insbesondere in der openSource-welt besser gehandhabt werden.
Trotzdem habe ich Ihnen möglicherweise nicht richtig geantwortet. Ich wünschte nur, ich hätte gute Kenntnisse in der GIS-Programmierung, damit ich mich in der GIS-Modellierung auszeichnen kann
Das Wichtigste und in der Regel das Schwierigste nach meiner Erfahrung sind:
Ich denke, dass Punkt 1 in Industrieländern einfacher sein wird, aber das ist nicht meine Erfahrung.
Die größte Herausforderung besteht für mich darin, zu entscheiden, welche Tools für ein bestimmtes Projekt verwendet werden sollen. Open Source oder proprietär? Python oder .NET? Webbasiert oder Desktop? Ich beantworte diese Fragen für verschiedene Projekte unterschiedlich und ich bin sicher, dass die Leute sie alle auf dieser Site stellen werden. Vieles hängt von persönlichen Vorlieben ab und davon, was ESRI und Microsoft in Zukunft unterstützen werden.
Mein Thema ist alles über das Pferd und das Wasser. In vielen Fällen entwickeln und / oder präsentieren wir wirklich gute Lösungen für unsere Kunden, aber egal wie elegant die Lösung ist, es ist absolut nutzlos, wenn sich niemand die Zeit nimmt, sie zu nutzen. In einigen Fällen ist es uns gelungen, dies durch eine benutzerbasierte Arbeitsweise (Befragung von Problemen, Besprechen von Lösungen vor der Entwicklung) zu mildern. In einigen Fällen reicht dies jedoch immer noch nicht aus.
Ich denke, die größte Herausforderung besteht darin, das Management dazu zu bringen, GIS zu verstehen, und einige Benutzer verstehen es auch nicht. Die Wahrnehmung ist, dass es bei GIS darum geht, eine Karte zu erstellen. dass eine Karte das einzige Ergebnis eines GIS-Endevours ist. Ich kann Ihnen nicht sagen, wie frustrierend ich das finde - die Unwissenheit da draußen ist riesig und wird von den wichtigsten Entscheidungsträgern gehalten.
Irgendwann werden wir - wir sind einige der wegweisenden GIS-Experten und -Programmierer - Management und dann können wir endlich ein paar anständige GIS-Projekte fertigstellen!
Die andere schwierige Sache als GIS-Programmierer - Sie müssen so viele verschiedene Technologien verstehen, Java, .Net, Datenbanken, ESRI-Software oder andere Anbieter, z. B. MapInfo, Netzwerke, Sicherheit, Web-Tech usw. Manchmal ist es eine fast unmögliche Aufgabe!
Umgang mit Personen mit einem Vermessungshintergrund, die sich mit professionellen Softwareentwicklungstechniken und -methoden nicht auskennen, aber sich selbst beigebracht haben, wie man avenue / VB codiert, denken Sie, das ist alles, was dazu gehört.
# 3 aus Vinkos Antwort :
Entwerfen Sie eine verwendbare Anwendung. Es ist einfach und verlockend, viele Schnickschnack zu spielen, die die Benutzer nur verwirren.
Ich würde für die ganze Antwort stimmen, aber für die Tatsache, dass Usability nur der dritte Punkt in seiner Liste ist und ich denke nicht, dass die ersten beiden so herausfordernd sind.
Usability ist der Ort, an dem sich die meisten meiner Probleme befinden und an dem ich den größten Teil der Design- / Entwicklungszeit aufwenden muss, um herauszufinden, wie eine intelligente und effektive Benutzeroberfläche gestaltet werden kann.
Wie Sie den Stil einer interaktiven Karte optimieren (und die Ebenen auswählen), um die relevanten Informationen anzuzeigen und die Unordnung zu vermeiden, die mit der Anzeige zu vieler Daten einhergeht (z. B. durch die automatische Aggregation von Punkt-Features). Ich weiß, das ist es, was die Kartografie seit Ewigkeiten versucht zu lösen, aber das Problem wird nur mit digitalen / interaktiven Karten noch schlimmer
So positionieren Sie die Kartenansicht automatisch auf der Grundlage der Abfrage / Featureauswahl des Benutzers
Hervorheben der 'ausgewählten' Features - Zeigen Sie die Hervorhebung nur kurz an, lassen Sie sie während der gesamten Auswahl eines Features hervorheben, heben Sie die Hervorhebung auf, wenn die Auswahltabelle (oder Liste) den Fokus verliert ... So markieren Sie alle Abfragen Ergebnisse aus einer Tabelle und der ausgewählten Zeile in dieser Tabelle (ohne zu viele Schaltflächen)
Anzeigen zusätzlicher Informationen in Listen von Layern oder Features, z. B. Sichtbarkeit eines Layers / angewendeter Stil / Geometrietyp, Status / Klasse eines Features ... Dies wird noch komplizierter, wenn in derselben Liste verschiedene Feature-Typen angezeigt werden (ich denke, aus diesem Grund Google und Bing Maps verwenden eine ziemlich starke Filterung der Suchergebnisse.
Effizientes Bearbeiten: Fangen, Schließen von Polygonen, Hinzufügen / Verschieben / Löschen von Punkten, ohne viele Schaltflächen in der Symbolleiste.
Entwerfen (und Implementieren) einer benutzerfreundlichen Abfrageschnittstelle für Geometrieabfragen und noch anspruchsvoller einer Schnittstelle für Abfragen, die sowohl Attribute als auch Geometrie enthält. ohne dass der Benutzer etwas wie SQL eingibt.
So gestalten Sie eine Zwischenablage für Features / Geometrien, um zu vermeiden, dass Sie ein Feature für die Verwendung in Abfragen, Bearbeitungen usw. ständig von der Karte "auswählen" müssen.
Meines Erachtens ist GIS im Hinblick auf die Benutzerfreundlichkeit ein besonders herausforderndes Feld, weil:
Der Standort ist der universelle und normalerweise natürlichste Kontext für alle Informationen, sodass immer zu viele Informationen für die Anzeige verfügbar sind
Wenn Informationen auf einer Karte angezeigt werden, ist man leicht versucht, die Bedeutung der Nicht-GIS-Teile der Benutzeroberfläche zu unterschätzen
Die Branche hat den Usability-Aspekt von GIS-Software traditionell vernachlässigt und ist damit durchgekommen, weil digitales Mapping als technischer Handel mit einer langsamen Lernkurve angesehen wurde und das Erlernen von Konzepten weitaus schwieriger war als die Verwendung der Benutzeroberfläche. Das bedeutet, dass jeder, der versucht, eine GIS-Oberfläche für den Nicht-Experten zu entwerfen, seine eigenen Prinzipien erfinden muss, die zum Scheitern verurteilt sind (ein schönes Beispiel wären Googles "Meine Karten" oder Bing Maps "Meine Orte").
Eine der größten Herausforderungen für die webbasierte GIS-Entwicklung besteht darin, wie die Daten bereitgestellt werden und wie effizient ich die Daten auf eine bestimmte Weise bereitstellen kann. Die größte Hürde besteht darin, dass es sehr schwierig ist, Code für etwas zu schreiben, bei dem ein Mensch Anpassungen vornehmen muss. In sehr seltenen Fällen werden Verallgemeinerungstechniken für Vektordaten in großem Maßstab verwendet. In den meisten Fällen müssen Sie die Skalierungsbereiche anpassen, um die Ebenen ein- und auszuschalten.
Diese Frage tauchte bei meiner Google-Suche nach Herausforderungen in GIS auf, und ich möchte hier einen Beitrag leisten.
Ein weiterer Link, den ich für relevant hielt, war dieses Papier.
Zusammenfassend, was dort gesagt wird und meine eigenen Ansichten, denke ich, dass die größten Herausforderungen (in keiner bestimmten Reihenfolge) sind:
Beim Codieren habe ich das Gefühl, dass ich viel zu viel Zeit mit Problemumgehungen vergeude. Für Projektionen habe ich ein paar Monate gebraucht, um die Prozesse und die Mathematik zu verstehen, da es meiner Meinung nach wenig hilfreiches veröffentlichtes Material zu diesem Thema gibt. Die EPSG- und OGC-Dokumente zu diesem Thema halfen mir, mich nach ein paar Lektüren ein Bild davon zu machen, obwohl sie manchmal wie Kopien voneinander zu sein scheinen. Das größte Problem, das ich als unabhängiger Entwickler habe, ist, dass ich nicht anders kann, als über Menschen zu stolpern, die spezielle Arbeit für die Entwicklung medizinischer, industrieller oder auch einfacher Web-Apps benötigen. Mit der GIS-Industrie scheint es fast unmöglich, einen Weg zu finden, um in den Markt einzutreten.
Ich bin ein absoluter Anfänger bei GIS-Technologien und finde die Dinge heraus, während ich gehe. Und da ich nur über begrenzte Mittel verfüge, versuche ich, ESRI-Produkte zu vermeiden und alles nur mit Open-Source-Tools zu tun.
Das Schwierigste für mich war das Sammeln von Daten. Es gibt viele Artikel zum Bearbeiten und Anzeigen der Daten und viele Tools, die Ihnen das Leben erleichtern. Aber ich laufe immer noch im Dunkeln, wenn es um das Sammeln von Daten geht.
Ich habe keine Ahnung, was die Profis tun, um Daten zu finden und zu sammeln. Irgendetwas sagt mir, dass es einen einfacheren Weg gibt, Daten abzurufen als data.gov und google.
Möglicherweise müssen Sie leider mit GIS-Analysten zusammenarbeiten, die in Software-Entwickler umgewandelt wurden.
Es ist leicht zu erwarten, dass ein kompetenter Softwareentwickler die GIS-Konzepte aufgreift und sie durch die API laufen lässt, um die Dinge im Allgemeinen ohne viel Hilfe herauszufinden. Dasselbe gilt nicht, wenn ein GIS-Analyst erwartet, dass er die Softwareentwicklung aufnimmt.
Die Ergebnisse sind bestenfalls peinlich . Wenn Sie Erfahrung mit schlechten Entwicklern haben , stellen Sie sich vor, es ist schlechterer Code als alles, was der schlechteste Programmierer entwickelt hat.
Einige Unternehmen, für die Sie möglicherweise arbeiten, verstehen das nicht.
Die GIS-Welt wird auf den gemeinsamen Benutzer ausgedehnt, es sei denn, in früheren Jahren wurde das GIS nur von Ingenieuren, Architekten oder der wissenschaftlichen Gemeinschaft behandelt. Für den Fall, dass die GIS-App für den allgemeinen Benutzer erstellt wird, besteht die Herausforderung darin, Technologien angemessen zu mischen, bei denen das GIS eher als Technologie behandelt wird (in diesem Fall ist ein Entwickler mit ein wenig Verständnis der GIS-Technologie ausreichend). Für den Fall, dass die App für die Fachgemeinschaft erstellt wird, ist die Herausforderung jedoch komplexer, da neben der Verbindungstechnologie auch die Suche nach vorhandenen Algorithmen erforderlich ist, um die Anforderungen zu erfüllen, die ansonsten noch schlimmer wären, wenn wir diese Algorithmen entwickeln müssten. In diesem Fall ist eine Mischung aus Ingenieur und Entwickler der Arbeitnehmer geeignet.