Mehr

Funktioniert mapCanvas().refresh() in QGIS 2.6 nicht?

Funktioniert mapCanvas().refresh() in QGIS 2.6 nicht?


Bevor ich die Funktion benutzt habe

qgis.utils.iface.mapCanvas().refresh()

um den Karten-Canvas neu zu laden, nachdem beispielsweise eine Layer-Farbe von einem Plugin geändert wurde. Aber das funktioniert bei mir nicht mit QGIS 2.6. Muss ich eine andere Funktion verwenden, um den Kartenbereich zu aktualisieren, oder ist das ein Fehler?


Es kann sehr gut ein Fehler sein, da ich die Leinwand auch nicht aktualisieren kann. Als Workaround können Sie Folgendes versuchen:

myLayer.triggerRepaint()

Um alle Layer zu aktualisieren, kann folgende Funktion verwendet werden:

def refresh_layers(self): für Layer in qgis.utils.iface.mapCanvas().layers(): layer.triggerRepaint()

Mit Canvas-Caching im Mix (Python-Kochbuch, Hinweis am Ende des Abschnitts 'Modifying Vector Layers') muss ich Folgendes tun, um nach einer Bearbeitung eine zuverlässige Aktualisierung zu erhalten (in meinem Fall aus dem Plugin-Code in QGIS 2.14) :

cachingEnabled = self.iface.mapCanvas().isCachingEnabled() für Layer in self.iface.mapCanvas().layers(): wenn cachingEnabled: layer.setCacheImage(None) layer.triggerRepaint() self.iface.mapCanvas(). Aktualisierung()

Das heißt, ich rufe immer antriggerRepaint()auf allen Ebenen und rufen Sie dann die mapCanvas'sAktualisierung()nur um sicher zu sein. Wenn das Caching aktiviert ist, setze ich auch das Cache-Image jeder Ebene zurück, bevor ich das Neuzeichnen dieser Ebene auslöse. Ich weiß nicht, ob dies alles erforderlich ist, aber ich weiß, dass es konsistent zu funktionieren scheint. Die API warnt, dass beidesQgsMapLayer.setCacheImage()undQgsMapLayer.clearCacheImage()sind veraltet, aber weder in der Dokumentation noch im Code wird erwähnt, welche Alternative geplant ist.


Randnotiz: Ich sehe immer noch einen Aktualisierungsfehler. Wenn ich die Python-Konsole vor der ersten Layer-Bearbeitung eines Plugins öffne (zumindest im aktuellen Projekt), wird die Karte unabhängig davon, was das Plugin tut, nicht aktualisiert. Wenn ich stattdessen mit dem Öffnen der Konsole zumindest bis nach dem ersten Edit warte, dann scheint alles in Ordnung zu sein. Nur etwas, das Sie beachten sollten, wenn Sie versuchen, Aktualisierungen zum Laufen zu bringen.


Angular2: Autofokus funktioniert nicht in der Ansicht 'Refresh' (Winkel)

Ich baue ein QuizTool/LMS ähnlich wie Duolingo (SPA-ish).

TLDR: Klicken Sie auf plnkr, 'Check Answers', 'Do Other', und beachten Sie, dass das erste Eingabeelement nicht mehr den Eingabefokus hat - obwohl die 'autofocus'-Eigenschaft richtig eingestellt zu sein scheint. Kann ich das beheben?

lange Version: Wenn ich zum ersten Mal ein Quiz rendere, kann ich den Eingabefokus (mithilfe einer gebundenen Autofokus-Eigenschaft) auf den ersten Eingabebereich auf dem Bildschirm setzen (ein TEXTAREA, in dem der Benutzer die erste Frage beantwortet) - so kann der Benutzer einfach beginnen weg tippen. Ausgezeichnet.

Sobald der Benutzer jedoch diesen ersten Satz von Fragen (das erste Quiz) eingereicht hat, kann er sich für das Quiz "Weiteres" entscheiden - ich / Angular kann ein neues Quiz / eine neue Benutzeroberfläche neu zeichnen (mit dem, was vorerst passiert um genau die gleichen Fragen zu sein), nur das Attribut 'autofocus' scheint nicht zu funktionieren - dh der erste Eingabe-/Textbereich wird nicht fokussiert.

Es scheint jedoch, dass das gebundene Autofokus-Attribut gesetzt ist.

Das bedeutet entweder: 1) Ich lese das Attribut irgendwie falsch 2) Es ist ein Fehler in Chrome (Version 56.0.2924.87 (64-Bit) auf Mac OSX) 3) etwas bekommt/stiehlt den Fokus, nachdem der Autofokus dieses Felds korrekt ist Satz 4) usw.

Ich habe die lokalen Variablen 'firstQuestion' und 'lastQuestion' in der ngFor-Schleife eingerichtet, um zu beweisen, dass die Autofokus-Eigenschaft deterministisch eingestellt wird (ändern Sie einfach [autofocus]="firstQuestion" in [autofocus]="lastQuestion" ).

Ich bin offen dafür, dies zu beheben, aber ich muss. Die ganze Sache ohne Controller ist ziemlich neu für mich, daher ist es sehr wahrscheinlich, dass ich mit diesem gesamten Setup etwas Dummes mache.

Ich habe versucht, Angular Forms / ngForm zu verwenden, aber es scheint keinen Unterschied zu machen.

Ich wäre auch neugierig zu wissen, wo ich ein grundlegendes Tutorial zu Angular2-Übergängen / 'Controller'-Zeug finden könnte - dh wie zeichne ich einen Bildschirm neu oder wechsle zu einer neuen Ansicht usw. - ohne was als a . angesehen werden könnte 'herkömmlicher' Controller. Ich glaube mit VB hast du so etwas gesagt:

Wenn nichts davon funktioniert, möchte ich den Fokus manuell setzen / jqLite / pre-HTML / was auch immer -- habe auch dort noch nicht viel Erfolg gehabt -- daher diese Frage.

Ich bin mir nicht sicher, wie nützlich dies ist, aber es scheint, dass meine App - die mit dem ng cli-Tool eingerichtet wurde - sich erheblich von dem unterscheidet, was plunkr produziert.

das konnte ich feststellen:

    selbst wenn das 'document.activeElement' auf den richtigen Textbereich gesetzt wurde (laut Abfrage des DOM), ist es möglicherweise immer noch nicht aktiviert, damit der Benutzer mit der Texteingabe beginnt (ich habe ein rotes bg gesetzt, um es sehr visuell zu machen), und

Die nachfolgend gezeigte Seite "outer/hosting index.html" erhielt den Fokus, nachdem meine Komponente geladen wurde. Ich habe eine Hack-Javascript-Funktion hinzugefügt, um den Fokus manuell auf mein gewünschtes Element zurückzusetzen, aber es war wirklich nur zum Testen.

Fest. Nochmals vielen Dank an @mickdev.

Dies ist eine kleine Wendung der ersten Lösung. Ich würde es als "Verwenden einer Vorlagenreferenzvariablen mit der Lebenszyklusmethode ngAfterViewChecked() für die Komponente, die Sie rendern" beschreiben.


Hfrhyu

Habe diesen Skink in meinem Tomatenpflanzenkübel gefunden. Ist er gefangen? Oder könnte er gehen, wenn er wollte?

Der Flug startete 5 Minuten vor der geplanten Abflugzeit vom Gate. Rückerstattungsoptionen

Wie kann man abgelehnte Vollzeitkandidaten bitten, sich für einzelne Kurse zu bewerben?

Gründe für die Beschreibung der Kurtosis als "Spitze"?

Tannaka-Dualität für halbeinfache Gruppen

Ist der Meteorkrater in Arizona öffentlich zugänglich?

Warum wurden nie diskrete x86-CPUs in Spielehardware verwendet?

Wie würden Sie diesen seltsamen metallischen Apparat nennen, mit dem Sie Menschen heben können?

Warum werden im Amateurfunk noch Vakuumröhren verwendet?

Was ist der "studentd"-Prozess?

Bugfahrwerksfehler bei Single-Prop-Flugzeugen: Bauchlandung oder Bugfahrwerk-Hochlandung?

BIP mit Zwischenproduktion

Wo ist der Eintrag „Nächste Backup-Größe“ unter iOS 12?

Was meint Turing mit dieser Aussage?

Warum werden komplexe Fahrwerke anstelle von einfachen, zuverlässigen und leichten Muskeldrähten oder Formgedächtnislegierungen verwendet?

Tipps zur Organisation von LaTeX-Präsentationen für ein Semester

Ist es gefährlich, Hacking-Tools auf meinem privaten Linux-Rechner zu installieren?

Wie wurden Bilder vor dem digitalen Scannen vom Film in ein großes Bild in einem Bilderrahmen umgewandelt?

Ein Begriff für eine Frau, die sich über Dinge beschwert/auf süße/kindliche Weise bettelt

QgsTask zum Abbrechen im QGIS-Plugin zwingen?

Unicorn Meta Zoo #1: Warum ein weiterer Podcast?Abbrechen von Aufgaben, die derzeit im Hintergrund mit PyQGis ausgeführt werden?Wie schreibe ich ein Adresssuch-Plugin?Wie speichere ich ein Passwort während einer QGIS-Arbeitssitzung?Wie importiere ich Python-Sklearn richtig in das QGIS-PyQt-Plugin? python - Composer-Plugin-Menü catch-22QGIS-Projektdateien im exklusiven Modus öffnen / Warnung, wenn Projektdatei bereits verwendet wirdST_Contains. Auf wahr/falsch im Python-Cursor prüfenSo handhaben Sie vom Benutzer erstellte Projektvariablen mit der qgis-APISo öffnen Sie QGIS-Projekteigenschaften mit Fokus auf “CRS” und wählen Sie die ausgewählte Projektion ausQGIS 3 Python-Plugin psycopg2 Postgres Notify/Listen Live ConnectionAbbrechen der Aufgabe, die derzeit im Hintergrund mit PyQGis ausgeführt wird ?

Ich möchte das Schließen des Qgis-Projekts (QgsTask) irgendwann erzwingen

QgsProject.instance().clear() # FUNKTIONIERT NICHT

QgsTaskManager().cancelAll() # FUNKTIONIERT NICHT

QgsTask.cancel() # FUNKTIONIERT NICHT

Gibt es eine Möglichkeit, das Schließen eines Projekts oder einer Aufgabe zu erzwingen oder das Flag QgsTask.CanCancel in True zu ändern?

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Beispielobjekt für Aufgabenerstellung hinzufügen

Ich möchte das Schließen des Qgis-Projekts (QgsTask) irgendwann erzwingen

QgsProject.instance().clear() # FUNKTIONIERT NICHT

QgsTaskManager().cancelAll() # FUNKTIONIERT NICHT

QgsTask.cancel() # FUNKTIONIERT NICHT

Gibt es eine Möglichkeit, das Schließen eines Projekts oder einer Aufgabe zu erzwingen oder das Flag QgsTask.CanCancel in True zu ändern?

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Beispielobjekt für Aufgabenerstellung hinzufügen

Ich möchte das Schließen des Qgis-Projekts (QgsTask) irgendwann erzwingen

QgsProject.instance().clear() # FUNKTIONIERT NICHT

QgsTaskManager().cancelAll() # FUNKTIONIERT NICHT

QgsTask.cancel() # FUNKTIONIERT NICHT

Gibt es eine Möglichkeit, das Schließen eines Projekts oder einer Aufgabe zu erzwingen oder das Flag QgsTask.CanCancel in True zu ändern?

Ich möchte das Schließen des Qgis-Projekts (QgsTask) irgendwann erzwingen

QgsProject.instance().clear() # FUNKTIONIERT NICHT

QgsTaskManager().cancelAll() # FUNKTIONIERT NICHT

QgsTask.cancel() # FUNKTIONIERT NICHT

Gibt es eine Möglichkeit, das Schließen eines Projekts oder einer Aufgabe zu erzwingen oder das Flag QgsTask.CanCancel in True zu ändern?

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Beispielobjekt für Aufgabenerstellung hinzufügen

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Beispielobjekt für Aufgabenerstellung hinzufügen

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

das ist auch meine frage (ohne antwort). Ich trenne das Problem, vereinfache es ein wenig, weil ich einige Fortschritte gemacht habe @FranRaga

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Haben Sie beim Erstellen der Aufgabe das Flag canCancel gesetzt?

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Nein :/ Ich öffne einfach das Projekt : Projekt -> öffnen. @FranRaga

Beispielobjekt für Aufgabenerstellung hinzufügen

Beispielobjekt für Aufgabenerstellung hinzufügen


3 Antworten 3

Wenn ich Ihre Frage verstehe, können Sie den Komponisten nach Belieben verwenden. Wenn Sie einen Composer fertig haben, klicken Sie auf die Karte und aktivieren Sie in den Objekteigenschaften einfach "Layer für diese Karte sperren". Es sollte nicht mehr aktualisiert werden, auch wenn Sie Layer aus- oder einblenden. Grüße. Vincent

Bei großen Projekten mit einer großen Anzahl von Komponisten ist es besser, Ebenenvoreinstellungen und die Option "Sichtbarkeitsvorgabe folgen" innerhalb des Komponisten zu verwenden.

Dies liegt daran, dass bei der Verwendung von "Ebenen sperren" und "Ebenenstile sperren" alle Ebenen und ihre Stile und Eigenschaften gespeichert werden. Wenn dies für jeden Composer geschieht, kann die Größe der QGIS-Datei schnell erhöht werden. Dies kann extrem lange dauern, um ein Projekt zu öffnen, viele Leistungsprobleme verursachen und unweigerlich Ihre QGIS-Datei beschädigen. Beim Befolgen einer Sichtbarkeitsvorgabe wird lediglich der Stil für die Ebene referenziert, anstatt ihn zu duplizieren.


Funktioniert mapCanvas().refresh() in QGIS 2.6 nicht? - Geografisches Informationssystem

Website ist eine statisch generierte Website mit Sphinx (http://sphinx-doc.org/), basierend auf neu strukturierten Textquellen (erst: http://docutils.sourceforge.net/rst.html) und HTML-Vorlagen (jinja2).

Die meisten Quellen sind in source/site. Nur Frontpage und Landingpages sind im Theme/qgis-Theme

Styling ist im Thema/qgis-Theme. Dieses Thema wird für Website- und Dokumentations-Builds verwendet. Die Website-Version ist die kanonische.

Erstellen der Website mit Docker

TLDR: cd QGIS-Website && ./docker-run.sh html

Hinweis: Sie verwenden ein QGIS-Docker-Image von hub.docker.com, erstellt mit der Docker-Datei von:

Unter Linux: Verwenden Sie Ihren Paketmanager.

Unter Windows: installiere boot2docker von: http://boot2docker.io/ Einige Hinweise: Sie benötigen dazu Administratorrechte: Das Installationsskript generiert einige Schlüssel, akzeptieren Sie einfach alle Standardeinstellungen. Wenn es beim ersten Mal nicht funktioniert, prüfen Sie, ob Sie die Virtualisierung in Ihrem BIOS aktivieren müssen (z. B. Lenovo deaktiviert sie standardmäßig).

Starten Sie eine Befehlsbox (unter Windows: Doppelklick auf das boot2docker-Symbol auf dem Desktop, Sie erhalten ein Terminal):

Überprüfen Sie, ob Docker/Boot2docker funktioniert, indem Sie Folgendes eingeben:

Wenn alles in Ordnung ist, wird ein kleines Docker-Image heruntergeladen und Sie erhalten eine Ausgabe wie folgt:

Jetzt erstellen wir ein Arbeitsverzeichnis und ziehen die Quellen von github, entweder Ihren eigenen Fork oder das ursprüngliche QGIS-Repository wie hier:

Wir werden nun dieses QGIS-Website-Verzeichnis als Quell- und Ausgabeverzeichnis für die Docker-'virtuelle Maschine' verwenden, die die Site erstellt. Wir starten diesen Docker-Container mit einer Befehlszeile wie unten:

Wobei "docker run -t -i qgis/sphinx_html_3 make html" bedeutet: "run a Docker container/process based on the qgis/sphinx_html_3 image available online, call make im Arbeitsverzeichnis des Containers, mit Parameter 'html', was bedeutet : nur englisches html bauen"

"-v /home/richard/dev/QGIS-Website:/QGIS-Website" bedeutet: verwende das Verzeichnis "/home/richard/dev/QGIS-Website" als virtuelles Verzeichnis im Container und nenne es '/QGIS- Webseite'

"-w=/QGIS-Website" bedeutet, dass sie als Arbeitsverzeichnis von Docker verwendet werden soll

"--rm=true" bedeutet, den Container nach dem Build zu entfernen

Nun die eigentlichen Kommandozeilen:

Unter Linux (verwenden Sie hier Ihren eigenen Repo-Pfad!):

Unter Windows (getestet auf Win7 und Win8), verwenden Sie hier Ihren eigenen Repo-Pfad!

WICHTIG du brauchst 2x ein double // im Befehl. Ohne diese erhalten Sie eine Fehlermeldung über ein falsches Arbeitsverzeichnis:

Hinweis: Nur beim ersten Mal wird das qgis/sphinx_html_3-Image (>300Mb) aus dem Online-Repository https://hub.docker.com/u/qgis/ gezogen.

Wenn Sie nun eine übersetzte Website erstellen möchten, gibt es noch einiges zu tun. Wir müssen die Übersetzungen von transifex usw. abrufen. Sie benötigen dazu Ihre eigenen transifex-Zugangsdaten. Besorgen Sie sich also zuerst ein Konto/Passwort auf www.transifex.com und erstellen Sie dann eine sogenannte '.transifexrc'-Datei, mit der Sie sich bei transifex autorisieren. Der Inhalt dieser Datei sollte so aussehen:

Kopieren Sie diese Datei in das Stammverzeichnis Ihres Repositorys. Bei mir ist das /home/richard/dev/QGIS-Website. JETZT können Sie es mit 'make full' und einem LANG-Parameter wie folgt ausführen:

Außerdem können Sie sich die Skripte docker-run.sh und docker-world.sh ansehen, die auf unseren eigenen Webservern verwendet werden.

Erstellen der Website mit Make

Das Bauen wird nur auf Linux-Systemen mit make getestet, unter Windows haben wir jetzt ein Paver-Setup gestartet (siehe unten)

Um Lokalisierungsziele ausführen zu können, benötigen Sie Sphinx 1.2, das mit pip geliefert wird. Sphinx, das mit den meisten Distributionen geliefert wird, ist nur 1.1.3. Sie erhalten einen gettext-Fehler mit diesen.

Führen Sie die Make-Datei am besten in einer virtuellen Umgebung aus ( http://www.virtualenv.org/ ):

/myvirtualenvs/) und erstellen Sie ein virtualenv-fähiges Verzeichnis:

Und aktiviere diese virtuelle Umgebung

Aktivieren Sie jetzt immer Ihre Umgebung, bevor Sie bauen. Zum Deaktivieren können Sie Folgendes tun:

Sie können alle Tools unterwegs über die REQUIREMENTS.txt hier im Stammverzeichnis dieses Repositorys installieren:

Alternativ tun Sie es nacheinander:

Installieren Sie sphinx 1.2 jetzt in Ihrer virtuellen Umgebung:

Wenn Sie die QGIS-Dokumentation zum Build hinzufügen möchten, müssen Sie entweder die Quellen, Ressourcen und PO-Dateien manuell in das Website-Projekt kopieren. Oder verwenden Sie das fullhtml-Ziel von make (das den 2.0-Zweig auscheckt):

Um neue Strings in einer Pot-Datei (.po) für Ihre Sprache zu sammeln und sie mit bestehenden Übersetzungen in den po-Dateien zusammenzuführen (normalerweise von Ihrem Sprachbetreuer auszuführen):

So fügen Sie eine neue Sprache hinzu (die Skripte benötigen eine Verzeichnisstruktur):

Sehen Sie die Website in Aktion: http://www.qgis.org

Erstellen der Website mit Paver

Paver ist ein Python-basiertes Make-ähnliches Tool (http://paver.github.io/paver/)

Paver kann unter Linux und Windows verwendet werden (kann jemand auf OSX testen?)

Es stehen zwei Skripte zur Verfügung:

  • bootstrap.py (zum Einrichten der Python-bezogenen Dinge)
  • pavement.py (die Konfigurationsdatei für Paver)

Um lokalisierte Versionen der Website mit paver erstellen zu können, wird der 'Transifex-Client (tx)' benötigt.

Um tx.exe im Paver-Skript nutzbar zu machen, legen Sie es entweder IN dieses Verzeichnis neben der Datei pavement.py ODER fügen Sie es Ihrem PATH hinzu

WICHTIG: Um von transifex.com abrufen zu können, benötigen Sie eine Anmeldedatendatei. Diese Datei sollte wie folgt heißen: .transifexrc und am einfachsten in Ihr Home-Verzeichnis C:/users/you legen. Eine andere Möglichkeit besteht darin, es in das Stammverzeichnis dieses Projekts zu legen, aber achten Sie darauf, dass Sie Ihre Anmeldeinformationen nicht in Github eingeben :-)

Die Datei sollte Folgendes enthalten:

Mit einem funktionierenden tx und einer .transifexrc sollten Sie zum Beispiel die deutsche Version von docs erstellen können über:

Während des Builds sehen Sie diesen Befehl:

Dadurch werden alle deutschen po-Dateien von transifex gezogen (basierend auf der .tx/config-Datei im Stammverzeichnis dieses Projekts)


Funktioniert mapCanvas().refresh() in QGIS 2.6 nicht? - Geografisches Informationssystem

Erweitert den Verarbeitungsrahmen, um Regenwassermanagementsysteme zu modellieren.

Mit diesem Plugin können Sie ein hydraulisches Netzwerk für Wasser modellieren und Simulationen ausführen, um Informationen zur Wasserdurchflussrate und mehr zu erhalten.

Sie benötigen swmm als Befehlszeilentool, damit das Plugin funktioniert.

Öffnen Sie die Datei swmm5.c, kommentieren Sie die Zeile aus

Öffnen Sie die Datei Makefile und ersetzen Sie die Zeile (Zeile 12)

und entfernen Sie den falsch platzierten Backslash aus der letzten Zeile der objs-Definition (Zeile 8)

Legen Sie dieses Verzeichnis einfach in das Plugin-Verzeichnis. Unter Linux:

Sie müssen dann QGIS ausführen, das Verarbeitungs-Plugin installieren und den Pfad zur ausführbaren swmm-Datei im QGIS-Menü Verarbeitung -> Optionen und Konfiguration konfigurieren.

Ein einfaches Beispiel wird bereitgestellt, um das Plugin zu testen. Sie benötigen einen funktionierenden Postgres/Postgis-Server, um das Beispiel verwenden zu können.

Erstellen Sie zunächst eine Testdatenbank, indem Sie aus dem Installations-Root-Verzeichnis ausführen:

Öffnen Sie QGIS, klicken Sie auf 'Postgis-Layer hinzufügen', konfigurieren Sie eine neue Verbindung zur swmm_test-Datenbank und stellen Sie eine Verbindung her. Aktivieren Sie 'Auch Tabellen ohne Geometrie auflisten' und wählen Sie folgende Layer aus dem öffentlichen Schema (Layer mit Geometrie werden in der Liste dupliziert, achten Sie darauf, dass Sie den Eintrag mit einer Geometrie auswählen):

  • Leitungen (Geom)
  • Kontrollen
  • Kurven
  • Verdunstung
  • Zuflüsse
  • Kreuzungen (geom
  • Optionen
  • Ausfälle (Geom)
  • Pumpen (Geom)
  • Bericht
  • Speicher (Geom)
  • Zeitfolgen
  • xsektionen

Öffnen Sie die Bearbeitungs-Toobox und doppelklicken Sie auf das Incon Swmm. -> Simulation -> Simulieren.

Wenn Sie ein neues Build vom QGIS-Master ausführen, sind die Namen der Parameter bereits festgelegt (erkennbar an den Layer-Namen). Wenn Sie eine ältere Version von QGIS ausführen, müssen Sie die folgenden Parameter einstellen:

  • Analyseoptionen -> Optionen
  • Berichterstattungsanweisung ausgeben -> Bericht
  • Verdunstungsdaten -> Verdunstung
  • Knoteninformationen zu Kreuzungen -> Kreuzungen
  • Outfall-Knoteninformationen -> Outfalls
  • Informationen zum Speicherknoten -> Speicher
  • Informationen zu Leitungsverbindungen -> Leitungen
  • Informationen zum Pumpenlink -> Pumpen
  • Kanal-, Öffnungs- und Wehrquerschnittsgeometrie -> xsections
  • Regeln, die den Pumpen- und Reglerbetrieb steuern -> steuert
  • Externer Ganglinien-/Verschmutzungszufluss an Knoten -> Zuflüsse
  • x-y tabellarische Datenreferenzen in anderen Abschnitten -> Kurven
  • Zeitreihendaten, auf die in anderen Abschnitten verwiesen wird -> Zeitreihen

Klicken Sie dann auf Ausführen. Nach Abschluss der Simulation sollten im Projekt drei Ergebnisebenen erscheinen.

Dieses Plugin wurde von Oslandia ( http://www.oslandia.com ) entwickelt.

Oslandia bietet Support und Unterstützung für QGIS und zugehörige Tools, einschließlich dieses Plugins.

Diese Arbeit wurde aus europäischen Mitteln finanziert. Danke an das GIS-Büro von Apavil, Kreis Valcea (Rumänien)

Dieses Werk ist freie Software und unter der GNU GPL Version 2 oder einer späteren Version lizenziert. Siehe LIZENZ-Datei.


Sie müssen nicht neu starten. Alle Änderungen, die Sie an der Hosts-Datei vornehmen, werden sofort wirksam. Früher mussten Sie einen Neustart durchführen, damit die Änderungen in Windows 9x wirksam wurden. Das ist nicht mehr der Fall.

Möglicherweise müssen Sie jedoch alle Anwendungen neu starten, die interne Hostnamen- oder DNS-Caching durchführen, z. B. Webbrowser.

Hast du es mit ipconfig /flushdns versucht? Ich habe jedoch keine Notwendigkeit für einen Neustart gefunden.

Nur eine Warnung, NSLOOKUP ruft weiterhin Ergebnisse vom DNS-Server ab und schaut sich nie die Hosts-Datei an Um zu überprüfen, ob Ihr neuer Name funktioniert, versuchen Sie den Ping-Befehl.

IE cached DNS-Einträge. Sie müssen eine neue IE-Instanz starten, um Änderungen an der Hostdatei anzuzeigen.

ipconfig /flushdns leert den lokalen DNS-Cache.
nbtstat -R leert den Netbios-Cache. <----- Sollte mit Großbuchstaben "R" sein

Möglicherweise möchten Sie sicherstellen, dass keine aktuellen Verbindungen zu dem Host bestehen, für den Sie die Namensauflösung hinzugefügt haben, indem Sie netstat -a oder etwas wie tcpview verwenden.

Sofern Sie kein DNS-Suffixing-Setup haben, um die Domänennamen an das Ende des Hosts anzuhängen, können Sie normalerweise anhand eines einzigen Namens für die Auflösung feststellen, ob es sich um ein Netbios handelt. Es ist üblich, dass Unternehmensnetzwerke Domänen anhängen und Suchaufträge hinzufügen, um die lokale Auflösung von Hosts im Netzwerk zu erleichtern.

Ich habe festgestellt, dass einige der von mir verwendeten Anwendungen auch einige dieser Antworten zwischenspeichern und sicherstellen müssen, dass sie vollständig geschlossen werden, bevor die Auflösung ordnungsgemäß funktioniert. Firefox und IE laufen gerne gelegentlich im Hintergrund, obwohl kein aktives Fenster vorhanden ist, aber das ist vielleicht mehr meine Schuld als die Anwendungen.


Ich bin mir nicht ganz im Klaren über die Einzelheiten, aber wenn eine Website Aufrufe zählt, zählt sie normalerweise die einzelnen Besuche. Im Falle von Twitch liegt es nahe, dass Cookies auf den Systemen der Benutzer platziert werden, um ihre einzigartige Ansicht zu verfolgen.

Ich gehe davon aus, dass dein eigenes Konto nicht zu einer Erhöhung führt, da ich, soweit ich das beurteilen kann, wenn ich meinen eigenen Kanal sehe, während ich live bin, ich nicht als Zuschauer zähle, es sei denn, ich gebe ihm einfach keine Zeit um die Zuschauerzahl zu aktualisieren.

Es zählt als Sitzung, ob Sie es glauben oder nicht. Öffnen Sie mehrere Browser und testen Sie es.


Funktioniert dieses Zwei-Token-Schema?

Sicherheitsnoob hier. Ich habe versucht herauszufinden, wie ich meine Web-App sowohl vor CSRF als auch vor XSS schützen kann. Es handelt sich um eine einseitige App, die serverseitig mit einer JSON-API kommuniziert.

Ich versuche, kein Roll-your-own-Schema zu machen, hatte aber nicht viel Glück, eines zu finden, das nicht die Komplexität von OAuth hat.

Wenn sich der Benutzer anmeldet, sendet der Server zwei Token zurück. Jeder Token ist ein JWT.

Die Token werden paarweise generiert. Sie teilen sich die erste Nonce, aber die zweite muss unterschiedlich sein.

Der erste wird in JSON zurückgesendet und muss in zukünftigen Anfragen als Bearer-Token gesendet werden.

Der zweite wird in einem httponly-Cookie zurückgesendet.

Damit eine Anfrage gültig ist, muss sie beide Token sehen, die Signaturen müssen gut sein, die erste Nonce muss übereinstimmen und die zweite darf nicht übereinstimmen.

Ich denke, dieses Schema ist nicht anfällig für CSRF, da ein Angreifer das Inhaber-Token nicht sehen kann. Es ist nicht anfällig für XSS, da ein Angreifer das httponly-Token nicht sieht. Ein Angreifer kann den fehlenden Token wegen der zweiten Nonce nicht erraten. Ein Angreifer kann aufgrund der ersten Nonce keine Token wiederverwenden. Ein Angreifer kann keine Token generieren, da sie signiert sind.


1 Antwort 1

Die gute Nachricht ist, dass Sie höchstwahrscheinlich von einer Filtereinstellung in der Firewall getroffen wurden und sie wahrscheinlich nicht weiter überprüfen wird, als sich einige zusammenfassende Zahlen im monatlichen Traffic-Bericht anzusehen.

Wird mein Arbeitgeber sehen, dass ich auf diese Site zugegriffen habe?

Sie wissen definitiv, auf welchen Link Sie zuzugreifen versucht haben – alles, was in Ihrer Adressleiste mit https angezeigt wird. Wenn Sie also Google Mail besuchen, sehen sie, dass Sie bei https://www.google.com/intl/en/gmail/ geblieben sind. /# für 5 Minuten. Sie haben jedoch keinen Inhalt, da der Verkehr verschlüsselt ist.

Sie wissen von jeder Webseite und deren Inhalt ohne Verschlüsselung (http://), wenn sie Pakete schnüffeln. Sie kennen die IP- und MAC-Adresse Ihres Geräts und die Anmeldeinformationen, die Sie für die Verbindung verwendet haben.

Abhängig von den Richtlinien Ihres Unternehmens können nur die Anmeldeinformationen auf Sie verweisen. Wenn das von Ihnen verwendete Gerät Ihrem Arbeitgeber gehört, wissen sie, dass Sie es sind.

Wenn das von Ihnen verwendete Telefon privat ist und die Authentifizierungsmethode für Ihr WLAN ein globales Passwort ist (etwa Ihr FirmennameWifi/ein_globaler_pass), ist es weniger wahrscheinlich, dass Sie auf Sie zurückgeführt werden, aber es ist immer noch möglich (mehrere Passwörter können für das einzelne WLAN-Netzwerk generiert werden, Sie können es nach dem Zugangspunkt verfolgen, mit dem Sie verbunden waren, da sein Standort bekannt ist usw.)

Und es gibt immer Metadaten, z.B. Wenn Ihr "der Typ", der von Schildkröten fasziniert ist, und was Sie vorhin getan haben, ein paar süße Schildkröten auf Google-Bildern gegoogelt hat, werden sie davon ausgehen, dass Sie es sind.

Werden sie wissen, dass der Link kein Porno war?

Nicht wirklich. Sie verwenden möglicherweise globale Listen oder einige benutzerdefinierte Listen, um den Datenverkehr zu filtern, und sie zielen normalerweise auf Websites als Ganzes ab und kümmern sich nicht um spezifische Links zu ihren Ressourcen.

wird ihr System kennzeichnen oder sie irgendwie benachrichtigen, obwohl die Site nicht wirklich Porno ist?

Wenn sie globale Listen verwenden, wird diese automatisch aktualisiert, ohne dass sie es bemerken. Wenn es sich um einen eigenen benutzerdefinierten Filter handelt, ist es wahrscheinlich eine gute Idee, ihn über den Fehler zu informieren.

Seien Sie nicht zu gestresst, obwohl ich derzeit kein Administrator in meinem Unternehmen bin, arbeite ich als Programmierer und viele Ressourcen und Websites, auf die ich zugreifen möchte, werden von unseren Webfiltereinstellungen betroffen (wir verwenden Fortinet-Lösungen).

Wenn Sie auf eine bestimmte Site zugreifen müssen und diese blockiert ist, benachrichtigen Sie die IT, sie wird wissen, was zu tun ist.


Schau das Video: How to configure PyQGIS development environment