Mehr

Verwenden Sie Esri Geoservices REST als Backend für das Python-Web-Framework (Django?)

Verwenden Sie Esri Geoservices REST als Backend für das Python-Web-Framework (Django?)


Ich würde gerne wissen, ob es möglich ist, ein vorhandenes Python-Web-Framework wie Django/GeoDjango als Frontend zu verwenden, um mit der Geoservices-REST-API von Esri zu arbeiten? Ich stelle mir vor, eine Datenbank-Engine zu entwickeln, die REST-Endpunkte in JSON als Datenbank-"Tabellen" trifft. Django Admin und Django Forms sind sehr gut gestaltet und ich denke, sie könnten als großartige Schnittstellen zum Hinzufügen, Ändern und Löschen von räumlichen und nicht-räumlichen Tabellen dienen, insbesondere solchen mit Beziehungen.

EDIT: Wenn ich mehr darüber nachdenke, geht es vielleicht nicht darum, den Quellcode von Django zu ändern, sondern stattdessen die Webanwendung so zu gestalten, dass sie die Bedürfnisse unterstützt. Modelle bieten die Speicherung von Kartenservice-Links und Ansichten stellen die CRUD-Funktionalität durch Aufrufe der REST-Endpunkte bereit.


Die Esri REST-API stellt keine Tabellen-/Layer-Verwaltungsfunktionen bereit, sodass Sie sie nicht wirklich zum Hinzufügen/Ändern/Löschen von Karten oder Layer-Schemas verwenden können. Es ermöglicht jedoch CRUD für Funktionen in jeder Tabelle.

Ich könnte also einen einzelnen Featurelayer über GeoDjango als Frontend sehen (mit dem Featurelayer als "Tabelle"), aber Sie könnten nur die Features innerhalb der Tabelle (nicht das Schema) abfragen und bearbeiten.

Bei der Weiterentwicklung ihrer gehosteten Lösung auf ArcGIS.com ist noch unklar, ob sie REST-Zugriff auf die Administratorfunktionen zulassen. Zum Beispiel erstellen die meisten Demos, die sie mit Drag/Drop-Shapefile/CSV-Mapping gezeigt haben, keine FeatureLayers, sie werden als einzelne Features zum Json der Karte hinzugefügt (eine Art funktionalerer Grafiklayer). Wenn sie Schema-Admin-Funktionalität hinzufügen, wird hoffentlich auch die Geospatial REST-Spezifikation aktualisiert.

Prost Brian


Es ist durchaus möglich, aber noch hat es noch keiner gemacht. Arc2Earth verwendet eine unabhängige Implementierung der Esri REST API zum Hosten auf Google App Engine. Durch die Implementierung der REST-API können Sie beispielsweise Geoverarbeitungs-Services und Feature-Layer für die Analyse in ArcGIS Explorer bereitstellen.


Es ist schwieriger als es klingt. Django-Modelle sind im Moment ziemlich an eine SQL-Datenbankwelt gebunden und der Admin wiederum ist ziemlich an Django-Modelle gebunden.

Am besten schaust du dir wahrscheinlich so etwas wie Django-nonrel . an

http://www.allbuttonspressed.com/projects/django-nonrel


ArcGIS veröffentlicht im Februar 2017 eine API für Python, ich denke, das ist jetzt (6 Jahre später) der Weg.

https://developers.arcgis.com/python/


Neueste Beiträge von MrG

Vor einiger Zeit habe ich den Befehl Viewshed2 verwendet, der die CUDA-Verarbeitung verwendet, um die Sichtbarkeitsberechnungen mit einer vollständigen geodätischen Lösung zu beschleunigen. Um die Leistung einer meiner GPUs zu nutzen, setze ich die Umgebung CUDA_VISIBLE_DEVICES =0

Diese env-Variable scheint die GPU zu überschreiben, die Sie in der Pro-GUI angeben. Wenn Sie also mehrere GPUs auf Ihrem System haben, vergessen Sie nicht, die GPU-Nummer in Pro immer auf 0 zu belassen, und verwenden Sie die CUDA_VISIBLE_DEVICES-Variable, um auf die GPU zu verweisen, die Sie verwenden möchten. Zumindest hat dies das Problem für mich gelöst.

Zuvor habe ich noch einmal überprüft, ob meine CUDA-Treiber richtig installiert sind, die Bandbreite mit meiner GPU in Ordnung ist und so weiter. Das ist so komplex, aber es funktioniert.


ArcGIS Online und seine Dienste

Die Definition von SaaS legt nahe, dass alle Komponenten eines Computersystems vom Cloud-Dienstleister bereitgestellt und verwaltet werden, sodass sich der Kunde nur auf die Nutzung oder den Verbrauch der Ressourcen konzentrieren kann. ArcGIS Online ist ein Beispiel für diese Serviceebene. Wie Sie in Lektion 2 gesehen haben, kann ArcGIS Online als Canvas zum Erstellen von Webkarten-Mashups verwendet werden, indem Services aus mehreren Quellen kombiniert werden. In dieser Lektion werden Sie noch einiges davon tun. Sie gehen aber auch noch etwas weiter und sehen, wie ArcGIS Online als Hosting-Site für Ihre eigenen Web-Services und -Anwendungen verwendet werden kann.

Hosten von Diensten in ArcGIS Online

ArcGIS Online kann Web-Services in ähnlicher Weise hosten, wie ArcGIS Server Web-Services hosten kann. Das bedeutet, dass Sie in ArcMap eine Karte erstellen können, wählen Sie Datei > Als > Dienst freigeben wie Sie es immer getan haben, und entscheiden Sie sich dafür, den Service mit ArcGIS Online-Servern statt mit Ihrem eigenen ArcGIS-Server zu hosten. Tatsächlich gibt es andere Einstiegspunkte zum Veröffentlichen eines Service, für die ArcMap nicht erforderlich ist, z. B. das Hochladen einer CSV-Datei oder eines Shapefiles und deren Veröffentlichung.

Da Esri ArcGIS Online an Einzelpersonen und Gruppen vermarktet, die möglicherweise nicht mit ArcGIS Server oder der technischen GIS-Sprache vertraut sind, verwenden sie in der ArcGIS Online-Dokumentation nicht den Begriff Web-Services, sondern den Begriff "gehostete Web-Layer". Dennoch verwenden diese gehosteten Web-Layer dieselbe Esri GeoServices-Spezifikation, die von ArcGIS Server-Services verwendet wird. Daher sieht Code, den Sie schreiben, um mit diesen Services zu interagieren, dem Code, den Sie für ArcGIS Server schreiben würden, sehr ähnlich.

Das Hosten von Web-Layern in ArcGIS Online kostet Geld. Sie kaufen einen Block von "Credits" von Esri, und diese Credits werden verbraucht, wenn Sie verschiedene Ressourcen in ArcGIS Online verbrauchen, z. Auf der Seite Service-Credits-Übersicht werden die Kosten in Credits für verschiedene Aktionen angezeigt.

Die Arten von Web-Layern, die ArcGIS Online hosten kann, sind im Vergleich zu ArcGIS Server eingeschränkt. Ursprünglich konnte ArcGIS Online nur (gerasterte) gekachelte Karten-Services und Feature-Services hosten. Kürzlich wurden Layer zur Unterstützung von 3D-Ansichten hinzugefügt (Szenen-Layer und Höhen-Layer). Vektorkachel-Layer sind ebenfalls neu und können nur über ArcGIS Pro veröffentlicht werden.

Je nachdem, wie viel GIS-Software Sie vor Ort installiert haben, können Sie zum Vorbereiten gehosteter Layer verschiedene Arbeitsabläufe verwenden. Ein gutes Beispiel sind gerasterte Kacheln. Sie können die Cache-Kacheln optional mit ArcGIS Online erstellen (was Credits kostet) oder Sie können sie selbst in ArcGIS Desktop erstellen und sie als "Kachelpaket" in ArcGIS Online hochladen, wo sie als gehosteter Layer gespeichert werden können (was Credits spart, aber dauert mehr Arbeit). Einen Vergleich der Optionen zum Erstellen gerasterter Kachel-Layer in ArcGIS Online finden Sie im Artikel "Workflows zum Erstellen und Hosten von gecachten Kartenkacheln in ArcGIS".

Arbeitsabläufe für die Felddatenerfassung

Esri hat eine Reihe von Apps entwickelt, um Daten in ArcGIS Online zu importieren und anzuzeigen, sobald sie dort sind. Einer der am weitesten verbreiteten ist Collector for ArcGIS, der für die Datenerfassung im Feld verwendet wird, manchmal in getrennten Umgebungen. Sie installieren Collector auf Smartphones oder Tablets aus dem App Store des Geräts. Wenn Sie Collector öffnen, stellen Sie eine Verbindung zu einer Webkarte her, die Sie in ArcGIS Online gespeichert haben. Sie können dann Basiskartendaten auf Ihr Gerät herunterladen, um den geografischen Kontext beizubehalten, falls Sie während der Datenerfassung vom Internet getrennt werden.

Wenn Sie ins Feld gehen, verwendet Collector das GPS Ihres Geräts, um Sie auf der Karte zu platzieren. Sie können dann an jedem beliebigen Ort Datenpunkte aufnehmen und optional Attribute mitliefern und/oder ein Foto von der Kamera des Geräts anhängen. Wenn Sie zu einer verbundenen Umgebung zurückkehren, können Sie die Daten des Geräts mit Ihrem ArcGIS Online-Service "synchronisieren", wo sie dann für andere Client-Anwendungen verfügbar sind.

Andere Apps wie das Esri Operations Dashboard werden zum Visualisieren von Daten aus ArcGIS Online verwendet, unabhängig davon, ob sie von Collector oder auf andere Weise dort abgelegt wurden. Diese Videoserie der Esri Federal User Conference zeigt, wie Collector, ArcGIS Online und das Operations Dashboard in Echtzeit zusammenarbeiten können. Obwohl diese Demonstration vor einigen Jahren zu Beginn der Geschichte von Collector durchgeführt wurde, zeigt sie den grundlegenden Zweck der App und wie sie für die Datenerfassung im Feld verwendet werden kann.

Wie Sie auf der "Up Next"-Liste von You Tube sehen werden, gibt es in dieser Operation Gold-Serie eine Reihe von Folgevideos, die Sie sich weiterhin ansehen können, um zu sehen, wie die Daten nach der Sammlung weiter verwendet werden.

Eine Plattform als Service

Beim Betrachten der Kreditkostenseite ist Ihnen vielleicht aufgefallen, dass ArcGIS Online Geokodierungs- und Ortsfindungsdienste (die bis zu einem gewissen Grad kostenlos sind) sowie Dienste wie Routing- und Netzwerkanalysedienste anbietet. Zusammen mit der Möglichkeit, Mashups aus Diensten von Drittanbietern zu erstellen, können diese Funktionen ArcGIS Online konzeptionell aus der SaaS-Kategorie in die PaaS-Kategorie verlagern, da die Datenkomponente mehr vom Client verwaltet und verarbeitet wird. Dies ist vielleicht eher ein rein philosophisches als ein praktisches Gespräch, aber angesichts des Funktionsumfangs von ArcGIS Online können seine Benutzer es je nach der spezifischen Art und Weise, in der die Site verwendet wird, als SaaS oder PaaS betrachten.

Vor Ort ausführen

Esri hat vor kurzem eine Version von ArcGIS Online mit dem Namen Portal for ArcGIS produziert, die lokal ausgeführt werden kann. Dies richtet sich an Organisationen, die vom Internet getrennt sind (z. B. Geheimdienste), Organisationen, die ein höheres SLA (Verfügbarkeitsprozentsatz) benötigen, als ArcGIS Online bieten kann, oder Organisationen, die sich einfach noch nicht wohl fühlen, um in die Cloud zu wechseln.

Portal for ArcGIS sieht aus und fühlt sich genauso an wie ArcGIS Online, verwendet jedoch ArcGIS Server auf dem Back-End zum Hosten aller von Portalbenutzern veröffentlichten Services. Der Administrator von Portal for ArcGIS ist dafür verantwortlich, sicherzustellen, dass das Portal und der Server über genügend Hardware verfügen, um Anforderungen und Uploads von Portalbenutzern aufzunehmen. In Lektion 9 erfahren Sie mehr über Portal for ArcGIS.

Erkunden der ArcGIS.com-Website

Die Website ArcGIS.com bietet einen Einblick in ArcGIS Online. Manchmal werden die Begriffe ArcGIS.com und ArcGIS Online möglicherweise synonym verwendet, aber auf ArcGIS Online kann über andere Esri-Clients wie ArcMap und programmgesteuert über jeden Client mit der ArcGIS-REST-API zugegriffen werden.

Machen Sie eine Tour durch die ArcGIS.com-Website, indem Sie die folgenden Schritte ausführen.

  1. Öffnen Sie Ihren Webbrowser mit der folgenden URL: arcgis.com und melden Sie sich mit dem Penn State Enterprise-Konto an, das Sie in Lektion 2 verwendet haben. ArcGIS Online ist eine Cloud-basierte Ressource zum Anzeigen vorhandener Karten, Erstellen neuer Kartenprodukte und Teilen von Karten mit anderen . In ArcGIS Online werden Daten-Services in ihrer Kartenform dargestellt, und das Erstellen neuer Karten und Bearbeiten von Features erfolgt in einer Kartenschnittstelle.
    Die Registerkarten oben auf der ArcGIS Online-Startseite entsprechen den Hauptfunktionen der Site:
    • Galerie - Vorhandene Karten anzeigen
    • Karte - Erstellen Sie neue Kartenprodukte
    • Szene - Erstellen Sie neue 3D-Kartenprodukte
    • Notebook - Daten analysieren mit Python
    • Gruppen - Teilen Sie Ihre Karten mit bestimmten Benutzern oder der Öffentlichkeit (wird angezeigt, wenn Sie angemeldet sind)
    • Inhalt - von Ihnen erstellte Karteninhalte verwalten (wird angezeigt, wenn Sie angemeldet sind)
    • Organisation - Verwalten Sie Benutzer und andere Einstellungen für die Organisation, zu der Ihr Konto gehört (wird angezeigt, wenn Sie angemeldet sind)
  2. Durchsuchen Sie einige Karten, indem Sie auf klicken Inhalt und klicke auf Wohnatlas Tab. Wählen Sie eine der Kategorien auf der linken Seite aus und klicken Sie sich durch einige der Kartenminiaturen, die auf der Galerieseite aufgelistet sind. Es gibt zwei Hauptarten von Dingen, die Sie hier öffnen können: Karten und Apps. Diese stellen Produkte dar, die von ArcGIS Online-Benutzern erstellt und für den öffentlichen Zugriff veröffentlicht wurden. Denken Sie an a Webkarte als Arbeitsfläche für die Zusammenstellung einer Reihe von Webdiensten zu einer vorzeigbaren Ansicht, die dann in viele verschiedene APIs oder Plattformen eingebunden werden kann. EIN Web-Mapping-Anwendung, im Gegensatz dazu ist eine endgültige Ansicht, die mit einer einzigen API erstellt und nur für die Nutzung durch Endbenutzer gehostet wird. Wir konzentrieren uns jetzt auf Webkarten, aber im nächsten Abschnitt der Lektion haben Sie die Möglichkeit, sowohl eine Webkarte als auch eine fertige Webkartenanwendung zu erstellen.
  3. Wählen Sie eine Webkarte (versuchen Sie es mit der Suche nach Hurrikane und tropische Wirbelstürme) und klicken Sie auf den Hyperlink-Titel, um die Überblick Seite. Bitte beachten Sie die Schichten Abschnitt zum Ende der Seite. In diesem Abschnitt wird die Quelle jeder Datenschicht aufgeführt, die in der veröffentlichten Karte enthalten ist. Beachten Sie, dass jeder Layer eine URL angibt, die dem Internetkartenserver entspricht, von dem dieser spezielle Datendienst veröffentlicht wird. Die URL sollte den Host (z. B. services.arcgisonline.com) und den Typ (ArcGIS Server, WMS) des Dienstes angeben.
  4. Klicken Sie nun auf Öffnen (oder In Map Viewer öffnen)-Link auf der Webkarte und öffnen Sie sie im ArcGIS.com Map Viewer. Verwenden Sie die Registerkarten im Menü auf der linken Seite, um die Layerliste und -legende zu erkunden.

Überlegen Sie, wie der physische Standort der Quelldaten, die Art und Weise, wie Sie sie verwenden, und inwieweit all dies für Sie transparent ist, zum SaaS-Modell des Cloud Computing passen. Wurden Ihnen die zugrunde liegenden technischen Details, wie und wo die Daten veröffentlicht werden, ausreichend verborgen? Sie haben gesehen, dass Sie einige dieser Informationen über das Services-Verzeichnis ermitteln können, diese jedoch nicht immer kennen müssen, wenn Sie den von ArcGIS Online bereitgestellten Client verwenden.

Diese Site ist ein Beispiel für eine SaaS-Ressource, da alle Komponenten der Infrastruktur von der Cloud verwaltet werden, von der zugrunde liegenden Hardware und dem Betriebssystem bis hin zu Software und Daten. Tatsächlich werden von Benutzern erstellte Karten in der ArcGIS Online Gallery hauptsächlich durch Kompilieren und Überlagern vorhandener Karten-Layer generiert, die bereits auf ArcGIS Online oder anderen Kartenservern veröffentlicht wurden. Es ist möglich, in dieser Umgebung neue Daten zu erstellen, indem Features als Grafiken gezeichnet werden (Hinzufügen > Kartennotizen hinzufügen). Aber in diesem Ausmaß können Daten direkt verwaltet werden. Die ArcGIS Online-Cloud verwaltet die zugrunde liegenden Datenspeicherdetails.


Verwenden Sie Esri Geoservices REST als Backend für das Python-Web-Framework (Django?) - Geographic Information Systems

Dieses Projekt wird auf GitLab migriert: https://gitlab.com/rosarior/awesome-django. Dieses Repository wird entfernt, sobald alle Tickets geschlossen sind.

Eine kuratierte Liste großartiger Django-Apps, -Projekte und -Ressourcen. Inspiriert von und basierend auf Awesome-Python.

Pakete, die die Admin-Oberfläche erweitern und Funktionen hinzufügen oder verbessern.

    - Ein neuer Stil für Django-Admin. - Responsive Skin für Django Admin - Ein Django-Admin-Theme mit Twitter Bootstrap. - Sammlung von Admin-Feldern und Dekorateuren. - Die ultimative Admin-Oberfläche, basierend auf einem modernen flachen Thema, ermöglicht es Ihnen, den Admin-Titel, das Logo und die Farben vom Admin selbst anzupassen. - Eine Sammlung von Erweiterungen/Tools für die standardmäßige Django-Administrationsoberfläche - Erweiterbares, anpassbares Neuschreiben von django.contrib.admin - Ein flaches Thema für die Django-Administrationsoberfläche. Modern, frisch, einfach. - Ein verbessertes django-admin-tools Dashboard für Django-Projekte - Ein knalliger Skin für das Django Admin-Interface. - Erlaubt Superusern zu entführen (=login as) und im Namen eines anderen Benutzers zu arbeiten. - Admin-Schnittstelle für Mordern-Vorlagen mit verbesserter Funktionalität. Materialdesign für Django Forms und Admin. Vorlagengesteuert. Eine Django-App zum Hinzufügen von Objektwerkzeugen für Modelle in der Admin - Modernes Thema für die Django-Admin-Oberfläche. - WordPress-Look and Feel für das Django-Administrationspanel. - Drop-in-Ersatz von Django Admin kommt mit vielen Extras, vollständig erweiterbar mit Plugin-Unterstützung, hübsche Benutzeroberfläche basierend auf Twitter Bootstrap - Eine Administrations-Website für Django

Pakete, die Webanalysen durchführen oder Webanalysedienste integrieren.

Pakete, die bei der Verwaltung der statischen Assets eines Projekts helfen.

    - Komprimiert verlinktes und Inline-Javascript oder CSS in eine einzige zwischengespeicherte Datei. - Kompiliert und verkettet JavaScript- und CSS-Assets. - HTML-Minifier für Python mit voller Unterstützung für HTML 5 und Django. - Asset-Packaging für Django. - Django SystemJS bringt das Javascript von morgen schon heute nach Django. (JSPM-Integration in Django) - Transparente Webpack-Integration für Django. - Python-Bindungen für Webpack mit Django-Integration.

Pakete, die die Authentifizierungsmethoden von Django verbessern oder erweitern.

    - Integrierter Satz von Django-Anwendungen zur Authentifizierung, Registrierung, Kontoverwaltung sowie zur Authentifizierung von Drittanbieter-(Social-)Konten. - Mehrbenutzerkonten für Django-Projekte. - Ein steckbares Framework zum Hinzufügen einer Zwei-Faktor-Authentifizierung zu Django mit Einmalpasswörtern. - Einfache Benutzerregistrierungsanwendung für Django, die die Registrierung von Benutzern so einfach wie möglich macht. - Eine Reihe von REST-API-Endpunkten zur Verarbeitung von Benutzerregistrierungs- und -authentifizierungsaufgaben. - Benutzerfreundliche Zwei-Faktor-Authentifizierung. - Konten für Django einfach gemacht - Python Social Auth ist ein einfach einzurichtender sozialer Authentifizierungs-/Registrierungsmechanismus mit Unterstützung für mehrere Frameworks und Authentifizierungsanbieter.

Pakete im Zusammenhang mit Autorisierungsinfrastruktur und Berechtigungen.

    - Implementierung von Per-Objekt-Berechtigungen als Autorisierungs-Backend. - OAuth2-Goodies für die Djangonauten! - Bieten Sie OAuth2-Zugriff auf Ihre App - Object Moderation Layer, Mixin für Modelle, mit dem Sie mehrere Inhaltstypen moderieren können. Eine erweiterte Berechtigungsbibliothek, die es ermöglicht, logikbasiertes Berechtigungssystem um komplexe Berechtigungen in Django zu verwalten - Eine kleine, aber leistungsstarke App, die Django Berechtigungen auf Objektebene bietet, ohne dass eine Datenbank erforderlich ist. Im Kern ist es ein generisches Framework zum Aufbau regelbasierter Systeme, ähnlich wie Entscheidungsbäume. Sie kann auch als eigenständige Bibliothek in anderen Kontexten und Frameworks verwendet werden.

Pakete zum Erstellen und Verwalten einer Blog-App.

    - Einfache, aber leistungsstarke und wirklich erweiterbare Anwendung zum Verwalten eines Blogs auf Ihrer Django-Website. - Eine in Wagtail implementierte Django-Blog-App.

Pakete im Zusammenhang mit smart ein neues Projekt startet.

    - Ein Befehlszeilen-Dienstprogramm, das Projekte aus Cookie-Cuttern (Projektvorlagen) erstellt. - Eine Boilerplate für Django-Webanwendungen, die verschiedene soziale Authentifizierungsmethoden und mehrere beliebte API-Beispiele enthält. - Ein Django-Projektskelett, das modern und innovativ ist.

Pakete, die beim Caching helfen.

    - Caches Ihre Django ORM-Abfragen und macht sie automatisch ungültig. - Automatisches Caching und Invalidierung für Django-Modelle durch das ORM. - Ein glatter ORM-Cache mit automatischer granularer ereignisgesteuerter Invalidierung. - Eine Implementierung der Memoisierungstechnik für Django. - Ein Cache-Manager-Mixin, das eine gewisse Zwischenspeicherung von Objekten für das ORM bereitstellt. - Ein Redis-Cache-Backend für Django. - Johnny Cache ist ein Caching-Framework für Django-Anwendungen.

Pakete, die dazu beitragen, die Kompatibilität von wiederverwendbaren Apps zwischen verschiedenen Django-Versionen aufrechtzuerhalten.

    - Für- und Abwärtskompatibilitätsschicht für die offiziell unterstützten Django-Versionen. - Überprüfen Sie die Django-Kompatibilität Ihres Codes.

Pakete, die Informations-Dashboards erstellen, um Daten zu visualisieren.

    - ein anpassbares, modulares Dashboard-Anwendungsframework für Django, um interessante Daten zu Ihrem Projekt zu visualisieren. Inspiriert vom außergewöhnlich schönen Dashboard-Framework Dashing.

Pakete, die das Arbeiten mit großen Datenmengen erleichtern.

    - Stellt Ihre Pandas-Datenrahmen über das Django REST Framework zur Verwendung in clientseitigen (d. h. d3.js) Visualisierungen und Offline-Analysen (z. B. Excel) bereit.

Pakete, die Unterstützung für Datenbanken von Drittanbietern oder datenbankspezifische Funktionen hinzufügen.

    - Verwenden Sie Datenbank-URLs in Ihrer Django-Anwendung. - Erweiterungen zu Django zur Verwendung mit MySQL/MariaDB. - Schnelles / unscharfes PostgreSQL zählt für Django. - Postgres-Verbindungspooling für Django, unterstützt von SQLAlchemy.

Pakete, die bei der Fehlersuche helfen.

    - Ein konfigurierbarer Satz von Panels, die verschiedene Debug-Informationen über die aktuelle Anfrage/Antwort anzeigen. - Ein Drop-in-Ersatz für Djangos eingebauten Runserver-Befehl. - Middleware, die die Anzahl der DB-Abfragen an die Runserver-Konsole ausgibt. - Seidig glattes Profiling für Django - Automatische Erkennung des n+1-Abfragenproblems in Django (und anderen ORMs) - Eine moderne Fehlerprotokollierungs- und Aggregationsplattform.

Pakete, die beim Verwalten des E-Mail-Versands helfen.

    - Ein Django-E-Mail-Backend, das eine Sellerie-Aufgabe zum Senden der E-Mail verwendet. - Django-Modul zum einfachen Senden von E-Mails/SMS/Push/Tts mithilfe von Django-Vorlagen, die in der Datenbank gespeichert und über den Django-Admin verwaltet werden. - Django Admin-basiertes Management für Drip-E-Mail-Kampagnen - Verschiedene E-Mail-Dienstprogramme: PGP-Verschlüsselung, mehrteilige Vorlagen, Webbrowser-Test-Backend. - Ein Django-E-Mail-Backend für Mailgun. - Eine einfache App zum Senden und Verwalten Ihrer E-Mails in Django, unterstützt Vorlagen und kann problemlos in Aufgabenwarteschlangen integriert werden. - Ein Django-E-Mail-Backend für den Simple Email Service von Amazon. - Eine für den Spoolgore-Daemon gesicherte Django-E-Mail. - Django-Modul zum einfachen Senden von E-Mails mit Vorlagen mithilfe von Django-Vorlagen oder mithilfe eines Transaktions-Mail-Anbieters (Mailchimp, Silverpop usw.) - django-mailer2 + django-mailviews mit einigen Extras. - Eine einfache und unkomplizierte Django-E-Mail-Middleware. - E-Mail-Backend und neue Nachrichtenklasse für den Mandrill-Transaktions-E-Mail-Dienst von MailChimp.

Pakete, die die Funktionalität vorhandener Feldtypen erweitern oder neue Feldtypen hinzufügen.

    - Ermöglicht das Hochladen, Verwalten und Konvertieren von Audiodateien in verschiedene Audioformate (mp3, wav & ogg). - Eine BitField-Erweiterung für Django-Modelle. - Bietet Länderauswahl für Formulare, Flaggensymbole und ein CountryField. - Benutzerdefiniertes Django-Feld zur Verwendung von Aufzählungen benannter Konstanten. - Ein Paket zum Umgang mit Bildern in Django. - Automatisierte Bildverarbeitung für Django. - JSONField für Django-Modelle. - Standortfeld und Widget in Google Maps integriert. - MAC-Adressmodell und Formularfelder für Django. - Eine Django-Bibliothek, die mit Python-Telefonnummern verbunden ist, um Telefonnummern zu validieren, hübsch zu drucken und zu konvertieren. - Ein eingelegtes Objektfeld für Django - Ein besseres und schnelleres Multiple-Choice-Widget mit Vorschlägen. - Ein UUIDField für Django. - Ein Drop-In-Ersatz für ImageField von django, der eine flexible, intuitive und leicht erweiterbare Schnittstelle bietet, um schnell neue Bilder aus dem dem Feld zugewiesenen zu erstellen.

Pakete, die beim Übertragen von Dateien zwischen Projekten und Benutzern helfen.

    - Dateien mit Django bereitstellen. - Dies ist ein Wrapper um webserverspezifische Methoden zum Senden von Dateien an Webclients.

Pakete, die die Funktionalität von Formularen erweitern oder neue Formulartypen hinzufügen.

    - Der Zweck von django-autocomplete-light besteht darin, Autovervollständigungen schnell und korrekt in einem Django-Projekt zu aktivieren. - Twitter Bootstrap for Django Form - Verwenden Sie Bootstrap in Ihren Django-Vorlagen auf die Django-Art. - Der beste Weg, DRY Django-Formulare zu haben. Die App bietet ein Tag und einen Filter, mit dem Sie Formulare schnell in einem div-Format rendern können und gleichzeitig enorme Möglichkeiten zum Konfigurieren und Steuern des gerenderten HTML bieten. - django-floppyforms ist eine Anwendung, die Ihnen die volle Kontrolle über die Ausgabe von Formularen gibt. Die Formular-API und die Funktionen sind genau die gleichen wie die von Django, der Hauptunterschied besteht darin, dass Felder und Widgets in Vorlagen gerendert werden, anstatt Zeichenfolgeninterpolation zu verwenden, sodass Sie mit Django-Vorlagen die volle Kontrolle über die Ausgabe haben.

Pakete, die die Arbeit mit geografischen Informationssystemprojekten erleichtern.

    - Ein Modellfeld, das eine Geoposition (Breitengrad/Längengrad) und ein entsprechendes Admin-/Formular-Widget enthalten kann. - Standortfeld und Widget in Google Maps integriert. - Geodatenerweiterungen für Django REST Framework. - Geografische Add-ons für Django Rest Framework.

Pakete, die beim Bearbeiten, Ändern oder Konvertieren von Bildern helfen.

    - Hilfsanwendung zum einfachen und zerstörungsfreien Zuschneiden beliebig großer Bilder in Admin und Frontend. - Ein Drop-In-Ersatz für ImageField von django, der eine flexible, intuitive und leicht erweiterbare Schnittstelle bietet, um schnell neue Bilder aus dem dem Feld zugewiesenen zu erstellen.

Pakete, die Daten aus einem Projekt laden, importieren oder exportieren.

Pakete, die beim Migrieren der Datenbank bei Schemaaktualisierungen helfen.

Pakete, die Ihnen beim Support für mobiles iOS, Android und andere helfen.

    - Eine minimale Django-App, die Gerätemodelle implementiert, die Nachrichten über APNS und GCM senden können. - Django-App, die Push-Benachrichtigungen mit Sellerie bietet. Der Hauptzweck dieser App besteht darin, Ihnen zu helfen, Push-Benachrichtigungen in großem Umfang an Ihre Benutzer zu senden. Wenn Sie viele registrierte Geräteschlüssel haben, teilt django-pushy Ihre Schlüssel in kleinere Gruppen auf, die parallel laufen, um den Prozess des Sendens von Benachrichtigungen zu beschleunigen.

Pakete, die die Funktionalität von Modellen erweitern oder neue Modellklassen hinzufügen.

    - Bedingte Aggregate für Django-Abfragen, genau wie die berühmten SumIf und CountIf in Excel. - Länderspezifische Django-Helfer, früher bekannt. - Django-Modell-Mixins und -Dienstprogramme. - Dienstprogramme zum Implementieren eines modifizierten Pre-Order-Traversal-Baums in Django. -Alternative Baumdatenstrukturen für Django (bietet 3 verschiedene Methoden zum Speichern hierarchischer Daten, einschließlich MPTT)

Pakete, die die Integration von Zahlungsabwicklungsanbietern bereitstellen.

    - Django + Streifen leicht gemacht. - Eine Django-App, die Helfer für mehrere steckbare Zahlungs-Backends bereitstellt. - Dieses Paket bietet die Integration mit dem Adyen-Zahlungsgateway. Es wurde entwickelt, um nahtlos mit dem E-Commerce-Framework django-oscar zu arbeiten, kann aber ohne Oscar verwendet werden. - Dieses Paket bietet die Integration mit dem Zahlungsgateway PaymentExpress über deren PX POST API. Es wurde entwickelt, um nahtlos mit dem E-Commerce-Framework django-oscar zu arbeiten, kann aber auch ohne verwendet werden. - PayPal-Integration für Django-Oscar. Kann auch ohne Oscar verwendet werden. - Eine steckbare Django-Anwendung zur Integration von PayPal Payments Standard oder Payments Pro. - Django-Bibliothek zur Vereinfachung der Zahlungsabwicklung mit PIN. - Formulare, Widgets, Vorlagen-Tags und Beispiele, die Stripe + Django einfacher machen.

Pakete zum Erstellen von Berichten

    - Django-Berichte in Highcharts integriert. - Eine GUI für Django ORM. Erstellen Sie benutzerdefinierte Abfragen und zeigen Sie Ergebnisse an. Richtet sich an Systemadministratoren und fähige Endbenutzer, die möglicherweise nicht in der Lage sind, zu programmieren.

Pakete zum Entwickeln von RESTful-APIs.

    - Ein minimalistischer Ansatz für die Objektserialisierung, RESTful-Ansichten und RPC-Ansichten. - Diese App macht es extrem einfach, Django-betriebene SPAs (Single Page App) oder mobile Apps zu erstellen, die alle Registrierungs- und Authentifizierungsfunktionen als CBVs (Class Base View) und REST (JSON) offenlegen. - Ein leistungsstarkes und flexibles Toolkit, das die Erstellung von Web-APIs vereinfacht. - Lokalisierte Varianten einiger Serializer zur Verwendung mit Django Rest Framework. - Swagger Documentation Generator für Django REST Framework - Dokumentieren Sie Web-APIs, die mit Django REST Framework erstellt wurden - Erstellen köstlicher APIs für Django-Apps seit 2010. - Ein leichtes REST-Miniframework für Python

Pakete, die Suchfunktionen für Projekte bereitstellen.

    - Modulare Suche nach Django. - Schnelles Plugin für die Volltextsuche mit mehreren Modellen. - Integration der PostgreSQL-Volltextsuche mit django orm.

Pakete, die die Sicherheit eines Projekts verbessern.

    - Ein gefälschter Django-Administrator-Anmeldebildschirm, um Administratoren über versuchten unbefugten Zugriff zu informieren. - ist eine sehr einfache Möglichkeit für Sie, fehlgeschlagene Anmeldeversuche zu verfolgen, sowohl für den Django-Administrator als auch für den Rest Ihrer Site. - BREACH-Mitigation für Django-Apps. - Alle aktiven Sitzungen nach dem Ändern des Passworts ungültig machen (nicht erforderlich für Django 1.7+). - Hilft Ihnen, sich daran zu erinnern, die dummen kleinen Dinge zu tun, um die Sicherheit Ihrer Django-Site zu verbessern. - Sichere Authentifizierung durch TOTP, SMS, Codes und Frage. Login-Schutz mit Sperre durch IP und Captcha. - Eine Sammlung von Modellen, Ansichten, Middleware und Formularen, um ein Django-Projekt abzusichern. - Erzwingen Sie SSL auf Ihrer Django-Site. - Stronghold ist Middleware, um alle Ihre Ansichten standardmäßig zur Anmeldung erforderlich zu machen. - Der Sudo-Modus ist eine zusätzliche Sicherheitsebene für Ihre sensibelsten Seiten. Dies ist eine Implementierung des Sudo-Modus von GitHub für Django.

Pakete, die helfen, die SEO (Suchmaschinenoptimierung) von Projekten zu verbessern.

    - eine steckbare App, die es Django-Entwicklern ermöglicht, ihren HTML-Antworten schnell Meta-Tags und OpenGraph-, Twitter- und Google Plus-Eigenschaften hinzuzufügen. - Eine Django-App zum Verwalten von robots.txt-Dateien gemäß dem Robots-Ausschlussprotokoll. - Bietet eine Reihe von Tools zur Verwaltung von Suchmaschinenoptimierungs-Metadaten (SEO) für Django-Sites.

Pakete, die bei der Verwaltung der Konfigurierbarkeit von Projekten helfen.

    - Ein Helfer zum Organisieren von Django-Projekteinstellungen, indem er sich auf gut etablierte Programmiermuster stützt. - Eine Django-App zum Speichern dynamischer Einstellungen in steckbaren Backends (Redis- und Django-Modell-Backend integriert) mit einer Integration in die Django-Admin-App. - Strikte Trennung von Konfiguration und Code. - Ermöglicht Ihnen die Verwendung von 12-Faktor-inspirierten Umgebungsvariablen, um Ihre Django-Anwendung zu konfigurieren. - Organisieren Sie Django-Einstellungen in mehreren Dateien und Verzeichnissen. Einstellungen einfach überschreiben und ändern. Verwenden Sie Platzhalter und optionale Einstellungsdateien.

Pakete, die die Funktionalität des vorhandenen Speicher-Back-Ends erweitern oder neue Speicher-Back-Ends bereitstellen.

    - Dynamische globale und Instanzeinstellungen für Ihr Django-Projekt. - Mit dieser Anwendung können Sie Medien und statische Dateien einfach im Selectel Cloud-Speicher speichern. - django-storages ist eine Sammlung von benutzerdefinierten Speicher-Backends für Django. - Bietet einen Proxy für Django-Speicher-Backends, mit dem Sie Dateien lokal hochladen und schließlich remote bereitstellen können. - Django-Speicher-Backend, das Dateien in einem benutzerdefinierten WebDAV-Speicher speichert.

Pakete, die das Arbeiten mit Aufgaben-/Hintergrundwarteschlangen erleichtern.

    - Sellerie-Integration für Django. (nicht mehr erforderlich für Celery 3.1 und höher) - Eine native Multiprocessing-Aufgabenwarteschlange für Django. - Der einfachste Weg, RQ in Ihren Django-Projekten zu überwachen und zu verwenden. - Eine kleine Multithread-Aufgabenwarteschlange für Python.

Pakete, die beim Testen von Code oder beim Generieren von Testdaten helfen.

    - Behave BDD Integration für Django - TestRunner für das Behave BDD Modul. - Eine komplette Bibliothek zum Erstellen dynamischer Modellinstanzen zu Testzwecken. - Fake-Factory zum Generieren von Testdaten. - Kontinuierliche Plug-and-Play-Integration mit Django und Jenkins. - Testläufer mit Nase. - Unterstützung bei Selen-Tests. - Testen Sie ganze Django-Sites. - Suchen Sie Ihre langsamsten Tests. - Nützliche Add-Ons zu Djangos Standard-Testfall, die den Boilerplate-Code stark reduzieren - Ein Ersatz für Test-Fixtures für Python. - Terrain-Datei für Salat in Django-Projekten
  • [mixer] (https://github.com/klen/mixer) – Eine Anwendung zum Generieren von Instanzen von Django- oder SQLAlchemy-Modellen. Schnelle und komfortable Testdatengenerierung.
  • [mock-django] (https://github.com/dcramer/mock-django) – Eine einfache Bibliothek zum Verspotten bestimmter Django-Verhalten, wie zum Beispiel das ORM. - Intelligente Vorrichtungen für bessere Tests. - Testläufer mit py.test - Testframework für Webanwendungen.

Pakete, die beim Generieren von Miniaturansichten helfen.

    - Thumbnails und Bild-Utilitys für Django. - Ein Drop-In-Ersatz für ImageField von django, der eine flexible, intuitive und leicht erweiterbare Schnittstelle bietet, um schnell neue Bilder aus dem dem Feld zugewiesenen zu erstellen. - Einfache Miniaturansichten für Django. - Miniaturansichten für Django.

Pakete helfen bei der Aufgabe, Projekte zu übersetzen.

    - Schmerzlose Übersetzungen in Django unter Verwendung des regulären ORM. Lässt sich leicht in bestehende Projekte und Apps integrieren. Einfach umwandelbar von django-multilingual-ng. - Ein Versuch, Django-Modellübersetzungen ohne Mühe und ohne Integrationsprobleme in Ihre App zu machen. - Übersetzen Sie dynamischen Inhalt vorhandener Django-Modelle in eine beliebige Anzahl von Sprachen, ohne die ursprünglichen Modellklassen ändern zu müssen. - Einfache Django-Modellübersetzungen ohne böse Hacks - Rosetta ist eine Django-Anwendung, die den Übersetzungsprozess Ihrer Django-Projekte erleichtert.

Pakete, die neue Ansichtsklassen erweitern oder bereitstellen.

    - Die klassenbasierten generischen Ansichten von Django sind großartig, lassen Sie uns mehr davon haben. - Beautifully simple class-based views.
    - Let AngularJS play well with Django. - Easy way to use bower with your Django project. - Javascript url handling for Django that doesn't hurt. - A reusable Django app that provides better integration and tools for Angular.js.

Packages that makes text editing awesome.

    - Django admin CKEditor integration. - Summernote is a simple WYSIWYG editor. django-summernote allows you to embed Summernote into Django very handy. Support admin mixins and widgets. - TinyMCE integration for Django. - A Django application for making Django textareas rich text editors. Certainly as a template tag and possibly as a form widget. - A lightweight wysiwyg editor for Django.
    A wiki system with complex functionality for simple integration and a superb interface. Store your knowledge with style: Use django models. An extensible wiki app for Django with a Git backend.

Packages that do process, procedure and/or business tasks management.

    - django-flows keeps state and position in complicated flows of logic, allowing optional branches and complicated paths through a series of individual user actions. - Django friendly finite state machine support. - Django state machine and workflow library provides on the fly changes. - State machine for django models. - Reusable workflow library for Django. - django-workflows provides a generic workflow engine for Django. - Library to plug xworkflows into django models.
    - Easy to use active URL highlighting for django - Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams. - Collection of useful actions to use with django.contrib.admin.ModelAdmin and/or django.contrib.admin.AdminSite - Automatic admin users for Django projects. - Reusable, generic mixins for Django. - A reusable app to manage and display a calendar in your templates. - A cart app for your django site, an updated fork of django-cart - Django app for handling the server headers required for Cross-Origin Resource Sharing (CORS). - App that provides tags to fetch Google DFP ads. - Creating Scrapy scrapers via the Django admin interface. - This is a repository for collecting global custom management extensions for the Django Framework. - A generic system for filtering Django QuerySets based on user selections. - Django app to manage following and bi-directional friendships. - Essential Gravatar support for Django. Features helper methods, templatetags and a full test suite! - A boilerplate for Django web applications, containing various social authentication methods and several popular API examples. - A Django application to retrieve user's IP address. - an easy and simple Django template tag and tool to embed video and get thumbnails from video providers. - A Django reusable application for end-to-end markup handling. - App for monitoring management commands on Django.. - Circular template inheritance for Django. - https://github.com/ericflo/django-pagination. - Django EL(Endless) Pagination can be used to provide Twitter-style or Digg-style pagination, with optional Ajax support. - This is a configurable quiz app for Django. - Django reCAPTCHA form field/widget integration app. - Django Smuggler is a pluggable application for Django Web Framework that helps you to import/export fixtures via the automatically-generated administration interface. - Helps working with singletons - things like global settings that you want to edit from the admin site. - Easily share data via SQL queries, right from Django - Store Django messages on your project's backend. - provides a decorator to rate-limit views. Limiting can be based on IP address or a field in the request--either a GET or POST variable. - a slugify application that guarantees Uniqueness and handles Unicode. - django-watchman exposes a status endpoint for your backing services like databases, caches, etc. - Websockets for Django applications using Redis as message queue. - Collection of Ansible playbooks to quickly start your Django Application - A small library for extracting rich content from urls. - a collection of tools which make your life easier if you are building a web application using Django.

Outstanding Django projects.

    - The easy-to-use and developer-friendly CMS. - Django Fiber, a simple, user-friendly CMS for all your Django projects - A Django-based CMS with a focus on extensibility and concise code. - A content management platform built using the Django framework. - A new Django content management system. - A new Django content management system built on top of FeinCMS and OpenStack Horizon.
    - Open source, Django based DMS (document management system) with custom metadata indexing, file serving integration, OCR capabilities, document versioning and electronic signature verification.
    - Ecommerce for Django/Mezzanine. - Domain-driven e-commerce for Django. - Lighting Fas Shop is Ecommerce made with Django. - An e-commerce storefront for Python and Django. - Satchless brings e-commerce and Python together. - Satchmo is an eCommerce framework creatde in Django which allows you to develop unique and robust online stores.
    - Django Packages is a directory of reusable apps, sites, tools, and more for your Django projects. - Full stack SaltStack configuration for Django with the help of Vagrant. - Reddit / Hacker News clone for Django/Mezzanine. - Beautiful CRM/ERP for small business.

Where to discover new Django apps and projects.

    (1.2) (< 1.7) (1.5) (video) (1.7) - Deploying fast, scalable Django sites. (1.7) - Using REST, WebSockets, and Backbone with Django (1.5) (1.7) - A best practice book for making Python and Django as fun as ice cream.
    - A fun and engaging tutorial showing how to build a blog using Django and deploy it to Heroku. - A reusable set of slides to educate more people about Django. - Django Packages is a directory of reusable apps, sites, tools, and more for your Django projects. - Django Sites is a showcase of websites powered by Django. - contains explanations for Django's philosophy and its components along with links to other resources and tutorials.
    - the new meeting of the Django community of Florence. - the Italian Django community conference. An opportunity to meet djangonauts from all over Italy and abroad. - is a Django/Python non-profit community event, organised and run entirely by volunteers. The conference is Django-focused, but all aspects of Python fall within its remit. - is an exciting new Django conference for experienced Django developers. Come and learn about the internals of Django, and help to shape its future. - is the annual largest European-based Django conference that is usually held in late spring. - is the largest North American Django conference generally held the first week in September each year.

Additional sources of information about django features.

    - Detailed descriptions, with full methods and attributes, for each of Django's class-based generic views. - Detailed descriptions, with full methods and attributes, for each of Django REST Framework's class-based views and serializers.
    - One of the best collection of Django Videos and all the projects are written in Django. - Django videos from basics to advanced. Covering 3rd party apps to core Django compontents. - Must-watch videos about Django (or about Python as applied to Django) - The video series will teach you Django in one month

Non Django projects that make it easier to work with Django.

    - Run manage.py commands from anywhere. Finds closest to current path manage.py file and runs commands against it. - A toolkit for running standalone Django applications. It provides you with tools to create a CLI runner, manage settings, and the ability to bootstrap the process.

Just fork and send a pull request with your awesome Django apps, projects or resources. By contributing you agree to abide by the Code of Merit.


What web GIS stack should I use for my app?

I know there is a lot of information about GIS stacks for web app development all over the internet. Nevertheless, I just wanted to check if you have any recommendations about which technology I should use when building web app, based on my needs and current skills. As the spatial side of it will be quite simple, I am not sure if this would really classify as GIS web app, but as I work in the field as a GIS technician I like to think it does- and will hopefully be a first step towards GIS and/or web development career.

Anyway, it will be a map-based web app with some of the components being:

map with preloaded point data

ability for users to permanently add points/markers on the map and evaluate other entries (rate 1-5, add comments etc.),

ability for users to do simple spatial query/search (eg. show all accomodation in 10km radius, find nearest weather station and display the weather on this location. )

I've put together this extremely simple GIS-like web app recently, as my first ever programming project so I do have some understanding of Leaflet and front end, and some very basic understanding of Postgis.

For the project I'm about to build I was thinking of Flask backend, Leaflet for mapping, PostGIS database and Apache/Nginx(?) sever. I wouldn't use GeoServer I guess, as I don't think it is really necessary for my project. If I understand correctly I would be able to connect to Postgis through Flask's GeoAlchemy? Does that sound about right?


Integrating geo web services for a user driven exploratory analysis ☆

In data exploration, several online data sources may need to be dynamically aggregated or summarised over spatial region, time interval, or set of attributes. With respect to thematic data, web services are mainly used to present results leading to a supplier driven service model limiting the exploration of the data. In this paper we propose a user need driven service model based on geo web processing services. The aim of the framework is to provide a method for the scalable and interactive access to various geographic data sources on the web. The architecture combines a data query, processing technique and visualisation methodology to rapidly integrate and visually summarise properties of a dataset. We illustrate the environment on a health related use case that derives Age Standardised Rate – a dynamic index that needs integration of the existing interoperable web services of demographic data in conjunction with standalone non-spatial secure database servers used in health research. Although the example is specific to the health field, the architecture and the proposed approach are relevant and applicable to other fields that require integration and visualisation of geo datasets from various web services and thus, we believe is generic in its approach.


Electronic Design Automation

45. Ciranova
Ciranova is an Electronics Design Automation (EDA) company that provides automated integrated circuit (IC) layout tools. The Ciranova RuleWise API provides a high-level programming interface designed specifically for building deep-submicron cell generators. It is accessed as a Python extension package.

46. Productivity Design Tools
Productivity Design Tools (PDTi) is an Electronics Design Automation (EDA) company providing the most extensible Electronic System Level (ESL) tools for managing IP specifications, and automating code and documentation generation. Soft IP generators built upon PDTi's SpectaGen Framework make significant efficiency improvements for all aspects of system and chip development. PDTi was founded to address needs identified during its founder's time as a chip developer. Unlike the typical in-house solution or the competitors' offerings, SpectaGen is flexible enough for any environment and is designed to be extended based on customer-specific knowledge and design experience using object-oriented Python and XML.
PDTi's SpectaReg product is an eXtensible Memory-Mapped Register generator.


(Geo)Django vs. Javascript

Is it more worthwhile for a GIS user to learn Django (and GeoDjango) or Javascript (I know a similar question was explored 2 years ago)? I'm more excited about learning Django (since I'm more familiar with Python) but it seems there are more Javascript type GIS jobs out there.

It seems GeoDjango also does a good job integrating SQL, so I feel like building a project with GeoDjango would be a good learning opportunity, but I don't want to sink a bunch of time into it if it's not worthwhile. Any thoughts?

You can use them as complementary things. Geodjango is great a great way to serve your gis data as JSON data Using a restful API. JavaScript can then be used to consume and update a client side map with that data.

Airbnb for example would serve the background data as a json which is then shown on a map using JavaScript to update when moving and initialized.

Both are useful, JavaScript is easier though.

Also, Airbnb probably uses something like typescript and is transpliled to JavaScript, but that’s more complicated.

As several comments have already indicated: it is not a versus scenario. In modern web and GIS development you need to know javascript. Make sure you only learn ES6 plus syntax and master async await to avoid callback coding. Knowing django and python is of course another asset but then I would generalize it to learning python. I personally use nodejs on the server, appcelerator for mobile and React/mapbox js for the web frontend. I would advise building a small backend twice, using nodejs and django. Then build a webmap using mapbox gl js and possibly React. In addition, use linux and play with command line tools. Nodejs also plays well with SQL and there are many libraries to use postgis/postgresql. So also learn posgres/postgis as that is your most typical GIS SQL system. Good luck!


Openwisp-wifi-login-pages

Configurable captive page for public/private WiFi services providing login, sign up, social login, SMS verification, change password, reset password, change phone number and more.

Openwisp-ipam

IP address space administration module of OpenWISP

Openwisp-radius

Administration web interface and REST API for freeradius 3 build in django & python. Supports captive portal authentication, WPA Enerprise (802.1x), freeradius rlm_rest, social login, Hotspot 2.0 / 802.11u, importing users from CSV, registration of new users and more.

Openwisp-monitoring

Network monitoring system written in Python and Django, designed to be extensible, programmable, scalable and easy to use by end users: once the system is configured, monitoring checks, alerts and metric collection happens automatically.

Ansible-wireguard-openwisp

Openwisp-controller

Network and WiFi controller: provisioning, configuration management and updates, (pull via openwisp-config or push via SSH), x509 PKI management and more. Mainly OpenWRT, but designed to work also on other systems.

Netengine

Python abstraction layer for extracting information from network devices.

Openwisp-users

Implementation of user management and multi-tenancy for OpenWISP

Openwrt-openwisp-monitoring

OpenWRT monitoring scripts for openwisp-monitoring

Openwisp-notifications

Notifications module of OpenWISP

Docker-openwisp

OpenWISP in docker (in-alpha). For production checkout ansible-openwisp2.

Openwisp-utils

Python and Django utilities shared between different openwisp modules

Openwisp-firmware-upgrader

Firmware upgrade solution for OpenWRT with possibility to add support for other embedded OSes. Provides features like automatic retry for network failures, mass upgrades, REST API and more.

Openwisp-config

OpenWRT configuration agent for OpenWISP Controller

Ansible-openwisp2

Ansible role that installs and upgrades OpenWISP.

Ansible-openwisp2-imagegenerator

Automatically build several openwisp2 firmware images for different organizations while keeping track of their differences

Django-x509

Reusable django app implementing x509 PKI certificates management

Django-sendsms

A simple API to send SMS messages. It is modeled after the django email api.

Netjsongraph.js

NetJSON NetworkGraph visualizer based on d3.js

Netjsonconfig

Network configuration management library based on NetJSON DeviceConfiguration

Django-rest-framework-gis

Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

OpenWISP-Geographic-Monitoring

A Rails application for managing a wISP's access points

OpenWISP-User-Management-System

OpenWISP User Management System (OWUMS) is a Ruby on Rails application, capable of managing a WISP's user base.

Django-owm-legacy

OpenWISP Manager backward compatible legacy features implemented in django

Django-rest-framework

Netjsonconfig-editor.js

[GSOC 2017] This project has stalled.

Openwisp-vxlan-updater

VXLAN updater script for OpenWISP, designed to be used on Linux systems having NetworkManager nmcli.

Openwisp-network-topology

Network topology collector and visualizer. Collects network topology data from dynamic mesh routing protocols or other popular networking software like OpenVPN, allows to visualize the network graph, save daily snapshots that can be viewed in the future and more.


Draft Ideas

  • full streaming from database (via SOS+proxy or via TS-API) to JavaScript client
  • Add WPS 2.0 support to WPSClient4ArcGIS
  • try to combine project requirements (= mentor effort provided) with motivating (fun, interesting) projcts -- ARE via DanielNuest - 2014-10-02
  • Usage statistics and performance evaluation of WPS, SOS and Timeseries API using the ELK stack (comprises new logging configuration, instructions, logging statements to capture all required information) -- DanielNuest - 2015-02-10
  • IOs version of enviroCar app
  • enviroCar website
  • PhoneGap für JS client
  • SOS.js for SOS 2.0 based on ows.js
  • Access control for Sensor Web REST-API
  • Simple Features for protobuf and others

Schau das Video: Getting Started with ArcGIS Pro