Mehr

Wie aktualisiere ich den Postgis-Layer aus dem Shapefile in QGIS?

Wie aktualisiere ich den Postgis-Layer aus dem Shapefile in QGIS?


Mein üblicher Arbeitsablauf beim Aktualisieren der Ebene aus dem Shapefile war:

Öffnen Sie den DB-Manager;

  1. Laden Sie SHP-Dateien in QGIS;
  2. Öffnen Sie den DB-Manager;
  3. Datei importieren (mit Drop-Option).

Jetzt ist mein Problem, dass ich Datenansichten in Postgresql erstellt habe und diese Tabelle nicht mehr einfach löschen kann. Nun wäre meine Frage:

Wenn ich keine Tabellen mehr löschen kann, wie kann ich den PostGIS-Layer effektiv aus der SHP-Datei aktualisieren?

Da dies eine Punktebene ist, wähle ich derzeit nach Standort / Invertierung aus, um Punkte zu erhalten, die nicht in der PostGIS-Ebene enthalten sind.

Gibt es eine effektive Lösung, um diesen Prozess zu automatisieren, oder noch besser, gibt es ein grafisches Werkzeug zum Aktualisieren des PostGIS-Layers von SHP, möglicherweise basierend auf der Attributverbindung / Standortprüfung?

Vielen Dank !


Endlich konnte ich mein Problem lösen. Meine Lösung bestand darin, Daten in eine temporäre räumliche Tabelle auf dem PostGIS-Server zu laden, alle Datensätze aus der Tabelle zu löschen und dann alle Datensätze aus der temporären Tabelle in die Datenbank einzufügen.

DELETE FROM public.target_table;

INSERT INTO public.target_table

SELECT * FROM public.source_temporary_table;

Sie benötigen lediglich eine Tabelle mit denselben Spalten und demselben Geometrietyp.

Ich hoffe das hilft jemandem.


Könnten Sie versuchen, Ihre Layer direkt von PostGIS in QGIS zu laden? Siehe http://docs.qgis.org/2.2/en/docs/user_manual/working_with_vector/supported_data.html#postgis-layers


Wie aktualisiere ich den Postgis-Layer aus dem Shapefile in QGIS? - Geografisches Informationssystem

Eine der brillantesten, aber wenig bekannten Funktionen von QGIS ist die Möglichkeit, Layer-Aktualisierungen und -Ereignisse als Reaktion auf Benachrichtigungen von PostgreSQL auszulösen. Diese wurde von den Wizards von Oslandia entwickelt und lässt sich einfach zu jeder bestehenden Tabelle in Ihrer PostgreSQL-Datenbank hinzufügen – einschließlich PostGIS-Tabellen. Diese Funktion wurde in Version 3.0 hinzugefügt (siehe https://qgis.org/en/site/forusers/visualchangelog30/#feature-trigger-layer-refresh-or-layer-actions-from-postgresql-notify-signal). Nehmen Sie zum Beispiel diese einfache Tabelle:

Erstellen wir zunächst eine PostgreSQL-Funktion, die die Benachrichtigung sendet:

Um eine Benachrichtigung für die Tabelle zu erstellen, fügen wir einfach einige Trigger hinzu, um die Funktion bei bestimmten Ereignissen aufzurufen. Hier senden wir ein Signal bei DELETE-, INSERT- und UPDATE-Ereignissen:

Wenn wir uns nun unsere Tabellendefinition ansehen, sieht sie so aus:

Als letztes müssen Sie Benachrichtigungen in Ihren Layer-Rendering-Eigenschaften aktivieren, indem Sie die Option "Layer bei Benachrichtigung aktualisieren" aktivieren:

Jetzt können Sie testen, indem Sie Ihr QGIS-Fenster geöffnet lassen und Features von einem anderen Computer hinzufügen - Sie werden sehen, dass sie automatisch auf Ihrem angezeigt werden!


Projekt 3: Zuordnung der Klassenliste

Für Projekt 3 möchte ich, dass Sie mit Postgres/PostGIS und QGIS die Heimatstädte aller Teilnehmer der Klassenliste (zumindest die nordamerikanischen Schüler, basierend auf Postleitzahlenschwerpunkten) kartieren. Zu den Daten, die Sie zu Beginn der Lektion heruntergeladen haben, gehörten ein County-Shapefile und eine Datei mit durch Kommas getrennten Werten namens postal_codes.txt, in der US- und kanadische Postleitzahlen zusammen mit den Koordinaten ihrer Schwerpunkte gespeichert sind.

Klicken Sie mit der rechten Maustaste hier, um die Klassenliste mit Postleitzahlen herunterzuladen.

Hier sind die groben Schritte, die Sie befolgen sollten:

  1. Importieren Sie das County-Shapefile in Postgres.
  2. Erstellen Sie eine Tabelle zum Speichern der Postleitzahlenschwerpunkte.
  3. Laden Sie die Schwerpunktdaten aus der Textdatei.
  4. Fügen Sie eine Geometriespalte hinzu und verwenden Sie eine UPDATE-Abfrage, um sie mit POINT-Geometrien zu füllen.
  5. Erstellen Sie eine Tabelle, um die Klassenliste zu speichern.
  6. Laden Sie die Klassenliste aus der Textdatei.
  7. Bestimmen Sie eine Möglichkeit, die Geometrien in der Postleitzahlentabelle den Datensätzen in der Dienstplantabelle zuzuordnen.
  8. Verwenden Sie QGIS, um eine Karte der Heimatstädte zu erstellen. Beziehen Sie für einen bestimmten Kontext staatliche und Landkreisgrenzen ein.

  • Der Kopierbefehl kann verwendet werden, um Daten aus einer Textdatei in eine Tabelle zu laden. Verwenden Sie die Postgres-Dokumentation, um die korrekte Verwendung dieses Befehls zu bestimmen. Navigieren Sie entweder über das Inhaltsverzeichnis oder mithilfe der Suchfunktion zur Seite des Befehls in der Dokumentation. Achten Sie besonders auf die folgenden Optionen: FORMAT, HEADER, DELIMITER und QUOTES. Der Kopierbefehl erwartet, dass die Spalten der "to"-Tabelle übereinstimmen und sich in derselben Reihenfolge befinden wie die Spalten der "from"-Datei.
  • Sie können davon ausgehen, dass die Schwerpunktkoordinaten im NAD83/Geographic-Koordinatensystem liegen.
  • Angenommen, Ihre Postleitzahlentabelle enthält Spalten mit den Namen lat und lon, können Sie den folgenden Ausdruck in einer UPDATE-Anweisung verwenden, um eine Textdarstellung der POINT-Geometrie zu erstellen:

Leistungen

Dieses Projekt dauert eine Woche. Das Fälligkeitsdatum entnehmen Sie bitte dem Canvas-Kalender.


ReliefWeb

Hier sind einige nützliche Seiten, die Ihnen helfen, wieder auf den richtigen Weg zu kommen:

Sehen Sie sich aktuelle Krisen und aktuelle Schlagzeilen an.

Greifen Sie auf die neuesten humanitären Berichte, Karten und Infografiken sowie auf ein Archiv mit mehr als 20 Jahren humanitärer Informationen zu.

Durchsuchen Sie offene Stellenangebote im humanitären Bereich.

Entdecken Sie Ausbildungsmöglichkeiten im humanitären Bereich.

Finden Sie Hilfe zur Nutzung der Website, lesen Sie die Allgemeinen Geschäftsbedingungen, lesen Sie die FAQs und die API-Dokumentation.


Warum ich das "GIS" satt habe

Ich suche einen Ausstieg aus der Branche. Etwas, das ich einst geliebt und genossen habe, ist zu völligem Müll geworden. Ich weiß, dass viele meiner Kollegen genauso entmutigt sind. Im Folgenden wollte ich die Gründe auflisten, warum ich bereit bin, auf fast alles andere zu springen. Hören Sie mir zu und teilen Sie mir Ihre Gedanken mit.

GIS ist kein richtiger Beruf. Wir haben keine Möglichkeit mehr zu erkennen, wer der wahre Deal ist. In den USA gibt es unzählige Bachelor- und Masterabschlüsse in diesem Bereich, aber alle scheitern daran, die Belegschaft weiterzuentwickeln. Ich bin nicht beeindruckt von West Point, Johns Hopkins, Minnesota, Salisbury, Denver, Arizona, Penn State usw. Wo du zur Schule gehst, sagt mir nichts. Vielleicht ist das allgemeingültig, aber sie alle schieben den gleichen Müll. Jedes Programm scheint gleich zu sein. Ich war beeindruckt von einem oder zwei Professoren an jeder der oben genannten Schulen. Ihre Kursarbeit ist großartig, aber die Programme als Ganzes treiben das gleiche hirntote Denken voran.

Wie ist das GISP eine echte Sache, um das oben genannte Schimpfwort zu ergänzen? Ich habe für Tests von CISCO, Microsoft, CompTIA usw. gesessen und sie alle blasen GISP aus dem Wasser. Die ganze Großvaterklausel ist geradezu doof. Es gibt keinen echten Skill-Check. Wenn ich einen Kunden mit GISP in seinem E-Mail-Tag sehe, versuche ich, das Engagement um jeden Preis zu vermeiden. Ich habe noch nie, und das meine ich. Ich habe NIEMALS einen GISP getroffen, von dem ich dachte: „Wow, dieser Typ hat es verstanden. Ich möchte mit ihnen zusammenarbeiten" Wenn die Stellenanforderungen GISP als bevorzugt oder obligatorisch auflisten, lache ich und wünschte, ich könnte 5 Minuten Zeit mit dem CEO haben, um ihnen zu sagen, dass sie ihr gesamtes Personal entlassen sollen. *Beachten Sie, dass ich noch nie das GISP absolviert habe und jeder Arbeitgeber, der mir sagt, dass es jetzt eine Anforderung ist, werde ich sofort verlassen. Sie können meinen letzten Gehaltsscheck behalten.

GIS ist ein Spektrum ohne persönliche Standards. Ich habe unzählige GIS-Abteilungen von Fortune 500, Bundes-, Kommunal- und Landesregierungen sowie privaten Unternehmen besucht und war entsetzt über deren Datenmanagement, die Verwendung von Webanwendungen, den Mangel an Entwicklern und die völlige Missachtung von Best Practices. Wie erwarten Sie, dass die Leute Ihre Arbeit respektieren, wenn Sie sie selbst nicht respektieren? Sie geben eine Menge Geld für Anbieter aus, um ihre Probleme zu beheben, und finden es großartig, dass sie jedes Quartal ein paar PDFs an ihre Stakeholder senden. Bozos

Der Schwerpunkt liegt auf Karten. und auch schlechte Karten. Alles muss eine Karte sein. Ich hasse das. Es ist, als hätten wir keine anderen analytischen Fähigkeiten, die wir in einem anderen Medium anwenden könnten. Lesen Sie ein Buch über Datenvisualisierung. Holen Sie sich Python und R und lernen Sie, wie Sie benutzerdefinierte Grafiken und Diagramme erstellen! Ich habe Verständnis für die meisten Leute diesbezüglich. Die Universitäten in #1 haben uns diesbezüglich im Stich gelassen. Erstellen Sie eine Karte, fügen Sie sie in ein Layout ein, konfigurieren Sie eine aufgebauschte Legende und einen Titel und exportieren Sie sie als PDF. direkter Müll!

Berufsbezeichnungen. warum zum Teufel sind alle so besessen von Berufsbezeichnungen. Techniker, Analytiker, Spezialist. **gähn** Woher soll ich deine wahren Fähigkeiten kennen? Hier ist ein weiterer großartiger, auf den ich kürzlich gestoßen bin: Programmierer Analyst. Sind Sie Programmierer oder Analyst? Oder sind Sie nur ein normaler Datenanalyst, der Code kennt? Sehr verwirrend. Viele Leute haben mich auf LinkedIn kontaktiert und mich nach meinem neuen Job gefragt und wie cool es ist, dass ich schnell zu diesem Titel gekommen bin. Was? Wie ist das? Ein Titel? Schreibe "I like data" auf meine Visitenkarte, wen interessiert das schon.

IT Wissen. Guter Kummer, die Dämonen schreien gerade so laut. Der Mangel daran ist beunruhigend und entmutigend. Dies ist mein größtes Haustier von allen. Geben Sie mir jemanden von Nr. 5 oben und lassen Sie mich ihm eine Woche IT-Infrastruktur und -Protokolle beibringen und ich schwöre, er wird die produktivste Person in der "GIS-Gruppe" sein Komplex. Ich verstehe das. Die Komponenten, die einen Unternehmensbetrieb zusammensetzen, können nicht einfach zusammengewürfelt werden. Sie erfordern professionellen Input. Wie zum Teufel können Sie sagen, dass Sie ein GIS-Administrator, -Manager, -Spezialist, -Analyst usw. sind, aber keine Fehler bei einem Windows-Server beheben können? Wie kannst du das sagen? Sie wissen nicht, was ein Load Balancer ist? Was ist mit Ports und Firewalls? Ich hasse diejenigen, die ihre Fähigkeiten und Interessen verdrängen. Frustriert Sie das nicht? Sich auf die "IT-Leute" zu verlassen, ist, als würde man sich selbst zu seiner eigenen Beerdigung einladen. Diese Typen sind die meiste Zeit ahnungslos.

Vielleicht hatte ich in letzter Zeit nur ein bisschen Pech und einige schlechte Erfahrungen. Ich glaube nicht, dass GIS mehr ist. Ich denke, dass wir eine Menge Dummköpfe da draußen haben, die den Funk vortäuschen, und das bringt viele von uns als Branche zu Fall. Wir haben schlechte Bildung, Standards, Führungsqualitäten, Finanzierung, Zustimmung von Interessengruppen und wenig Rechenschaftspflicht uns selbst und anderen gegenüber. Wann haben Sie das letzte Mal etwas Neues gelernt? Wann haben Sie sich das letzte Mal gefragt, macht mein Team das richtig? Bewegen wir den Ball nach vorne? Maximieren wir unsere Fähigkeiten?


Schau das Video: How to add PostGIS layer in QGIS