Suite

Comment mettre à jour la couche postgis à partir du fichier de formes dans QGIS?


Mon flux de travail habituel avec la mise à jour du calque à partir du fichier de formes consistait à :

Ouvrez le gestionnaire de bases de données ;

  1. Chargez les fichiers SHP dans QGIS ;
  2. Ouvrez le gestionnaire de bases de données ;
  3. Fichier d'importation (avec option de dépôt).

Maintenant, mon problème est que j'ai créé des vues sur les données dans Postgresql et que je ne peux plus simplement supprimer cette table. Maintenant ma question serait :

Si je ne peux plus supprimer de tables, comment mettre à jour efficacement la couche PostGIS à partir du fichier SHP ?

Comme il s'agit d'une couche de points, je sélectionne actuellement par emplacement / inversion pour obtenir des points non inclus dans la couche PostGIS.

Existe-t-il une solution efficace pour automatiser ce processus ou, mieux encore, existe-t-il un outil graphique pour mettre à jour la couche PostGIS à partir de SHP, peut-être en fonction de la jointure d'attributs / vérification de l'emplacement ?

Merci !


J'ai enfin réussi à résoudre mon problème. Ma solution consistait à charger les données dans une table spatiale temporaire sur le serveur PostGIS, à supprimer tous les enregistrements de la table, puis à insérer tous les enregistrements de la table temporaire dans la base de données.

DELETE FROM public.target_table;

INSÉRER DANS public.target_table

SELECT * FROM public.source_table_temporaire;

Tout ce dont vous avez besoin est une table avec les mêmes colonnes et le même type de géométrie.

J'espère que ça aidera quelqu'un.


Pourriez-vous essayer de charger vos couches directement dans QGIS à partir de PostGIS ? Voir http://docs.qgis.org/2.2/en/docs/user_manual/working_with_vector/supported_data.html#postgis-layers


Comment mettre à jour la couche postgis à partir du fichier de formes dans QGIS? - Systèmes d'information géographique

L'une des fonctionnalités les plus brillantes mais peu connues de QGIS est la possibilité de déclencher des actualisations de couche et des événements en réponse aux notifications de PostgreSQL. Ceci a été développé par les assistants d'Oslandia et est facilement ajouté à n'importe quelle table existante dans votre base de données PostgreSQL - y compris les tables PostGIS. Cette fonctionnalité a été ajoutée dans la version 3.0 (voir https://qgis.org/en/site/forusers/visualchangelog30/#feature-trigger-layer-refresh-or-layer-actions-from-postgresql-notify-signal). Prenons par exemple ce tableau simple :

Créons d'abord une fonction PostgreSQL qui enverra la notification :

Pour créer une notification sur la table, nous ajoutons simplement quelques déclencheurs pour appeler la fonction sur des événements spécifiques. Ici, nous envoyons un signal sur les événements DELETE, INSERT et UPDATE :

Maintenant, si nous regardons notre définition de table, cela ressemblera à ceci :

La dernière chose que vous devez faire est d'activer les notifications dans les propriétés de rendu de vos calques en cochant l'option « Actualiser le calque lors de la notification » :

Vous pouvez maintenant tester en laissant votre fenêtre QGIS ouverte et en ajoutant des fonctionnalités à partir d'une autre machine - vous verrez qu'elles s'afficheront automatiquement sur la vôtre !


Projet 3 : Cartographier la liste de classe

Pour le projet 3, j'aimerais que vous cartographiiez les villes natales de tout le monde sur la liste de classe (au moins les étudiants nord-américains, en fonction des centroïdes des codes postaux) à l'aide de Postgres/PostGIS et QGIS. Les données que vous avez téléchargées au début de la leçon comprenaient un fichier de formes des comtés et un fichier de valeurs séparées par des virgules appelé postal_codes.txt qui stocke les codes postaux américains et canadiens ainsi que les coordonnées de leurs centroïdes.

Faites un clic droit ici pour télécharger la liste de classe avec les codes postaux.

Voici les grandes étapes à suivre :

  1. Importez le fichier de formes des comtés dans Postgres.
  2. Créez une table pour stocker les centroïdes des codes postaux.
  3. Chargez les données centroïdes à partir du fichier texte.
  4. Ajoutez une colonne de géométrie et utilisez une requête UPDATE pour la remplir avec des géométries POINT.
  5. Créez une table pour stocker la liste de classe.
  6. Chargez la liste de classe à partir du fichier texte.
  7. Déterminez un moyen d'associer les géométries de la table des codes postaux aux enregistrements de la table de liste.
  8. Utilisez QGIS pour créer une carte des villes natales. Inclure les limites de l'État et du comté pour un certain contexte.

  • La commande copy peut être utilisée pour charger des données d'un fichier texte dans une table. Utilisez la documentation Postgres pour déterminer l'utilisation correcte de cette commande. Accédez à la page de la commande dans la documentation via la table des matières ou en utilisant la fonction de recherche. Portez une attention particulière aux options suivantes : FORMAT, EN-TÊTE, DELIMITEUR et CITATIONS. La commande de copie s'attend à ce que les colonnes de la table « à » correspondent et soient dans le même ordre que les colonnes du fichier « de ».
  • Vous pouvez supposer que les coordonnées centroïdes sont dans le système de coordonnées NAD83/Geographic.
  • En supposant que votre table de codes postaux contienne des colonnes nommées lat et lon, vous pouvez utiliser l'expression suivante dans une instruction UPDATE pour créer une représentation textuelle de la géométrie POINT :

Livrables

Ce projet dure une semaine. Veuillez vous référer au calendrier sur toile pour la date d'échéance.


ReliefWeb

Voici quelques pages utiles pour vous aider à vous remettre sur la bonne voie :

Consultez les crises en cours et les derniers titres.

Accédez aux derniers rapports humanitaires, cartes et infographies et à une archive de plus de 20 ans d'informations humanitaires.

Parcourez les offres d'emploi ouvertes dans le domaine humanitaire.

Découvrez les opportunités de formation dans le domaine humanitaire.

Trouvez de l'aide sur l'utilisation du site, lisez les conditions générales, consultez les FAQ et la documentation de l'API.


Pourquoi j'en ai marre de "SIG"

Je cherche à sortir de l'industrie. Quelque chose que j'aimais et que j'appréciais autrefois s'est transformé en ordure. Je sais que beaucoup de mes collègues sont tout aussi découragés. Ci-dessous, je voulais énumérer les raisons pour lesquelles je suis prêt à passer à presque n'importe quoi d'autre. Écoutez-moi et donnez-moi vos impressions.

Le SIG n'est pas un vrai métier. Nous n'avons plus aucun moyen d'identifier qui est la vraie affaire. Il existe d'innombrables diplômes de premier cycle et des cycles supérieurs aux États-Unis dans le domaine, mais ils échouent tous à faire progresser la main-d'œuvre. Je ne suis pas impressionné par West Point, Johns Hopkins, Minnesota, Salisbury, Denver, Arizona, Penn State, etc. L'endroit où vous allez à l'école ne me dit rien. C'est peut-être général, mais ils poussent tous les mêmes déchets. Chaque programme semble être le même. J'ai été impressionné par un ou deux professeurs dans chacune de ces écoles ci-dessus. Leurs cours sont excellents, mais les programmes dans leur ensemble poussent la même pensée en état de mort cérébrale.

En plus de la diatribe ci-dessus, en quoi le GISP est-il réel ? J'ai passé des tests de CISCO, Microsoft, CompTIA, etc. et ils ont tous fait sauter le GISP de l'eau. Toute la clause de droits acquis est carrément loufoque. Il n'y a pas de véritable contrôle de compétences. Quand je vois un client avec GISP sur son email tag, j'essaye d'éviter l'engagement à tout prix. Je ne l'ai jamais fait, et je le pense vraiment. Je n'ai JAMAIS rencontré de GISP à qui j'ai pensé "wow, ce type/fille a compris. Je veux travailler avec eux" Lorsque les exigences du poste indiquent que le GISP est préféré ou obligatoire, je ris et j'aimerais pouvoir avoir 5 minutes avec le PDG pour leur dire qu'ils devraient licencier tout leur personnel. *Attention, je n'ai jamais passé le GISP et tout employeur qui me dit que c'est désormais une obligation, je partirai immédiatement. Ils peuvent garder mon dernier salaire.

Le SIG est un spectre sans aucune norme personnelle. Je suis entré dans d'innombrables départements SIG du Fortune 500, du gouvernement fédéral, des gouvernements locaux et étatiques et des entreprises privées et j'ai été consterné par leur gestion des données, leur utilisation d'applications Web, le manque de développeurs et le mépris total des meilleures pratiques. Comment voulez-vous que les gens respectent votre travail alors que vous ne le respectez même pas vous-même ? Ils dépensent une tonne d'argent en fournisseurs pour résoudre leurs problèmes et pensent qu'ils sont formidables pour envoyer quelques fichiers .pdf à leurs parties prenantes chaque trimestre. Bozos

L'accent mis sur les cartes. et de mauvaises cartes aussi. Tout doit être une carte. Je déteste ça. C'est comme si nous n'avions pas d'autres compétences analytiques à utiliser dans un autre média. Lisez un livre sur la visualisation des données. Choisissez Python et R et apprenez à créer des graphiques et des tableaux personnalisés ! Je sympathise avec la plupart des gens à ce sujet. Les universités en #1 nous ont fait défaut à cet égard. Créez une carte, mettez-la dans une mise en page, configurez une légende et un titre surélevés et exportez-la au format pdf. poubelle droite!

Titres de poste. pourquoi diable est-ce que tout le monde est si obsédé par les titres de poste. Technicien, Analyste, Spécialiste. **bâillement** Comment suis-je censé connaître vos véritables compétences ? Voici un autre grand que j'ai rencontré récemment : Analyste programmeur. Êtes-vous un programmeur ou êtes-vous un analyste ? Ou êtes-vous simplement un analyste de données régulier qui connaît le code ? Très perturbant. De nombreuses personnes m'ont contacté sur LinkedIn pour me poser des questions sur mon nouveau travail et me dire à quel point c'est cool d'avoir accédé à ce titre. Quelle? Comment est-ce une chose? Un titre? Mettez "J'aime les données" sur ma carte de visite, peu importe.

Connaissances en informatique. bon sang, les démons crient si fort en ce moment. L'absence de cela là-bas est troublant et décourageant. C'est ma plus grande bête noire de tous. Donnez-moi n'importe qui du #5 ci-dessus et laissez-moi leur enseigner une semaine d'infrastructure et de protocoles informatiques et je jure qu'ils seront la personne la plus productive du "groupe SIG." Le SIG, quoi que cela signifie plus, est assez simple mais il peut être complexe. Je comprends. Les composants qui assemblent une opération d'entreprise ne peuvent pas être simplement rassemblés. Ils nécessitent une contribution professionnelle. Comment diable pouvez-vous dire que vous êtes un administrateur SIG, un gestionnaire, un spécialiste, un analyste, etc. mais que vous ne pouvez pas dépanner un serveur Windows ? Comment peux-tu dire ça? Vous ne savez pas ce qu'est un équilibreur de charge ? Qu'en est-il des ports et des pare-feu ? Je déteste ceux qui cloisonnent leurs compétences et leurs intérêts. Cela ne vous frustre pas ? S'appuyer sur les "IT gens", c'est comme s'inviter à ses propres funérailles. Ces mecs sont la plupart du temps désemparés.

Peut-être que j'ai eu juste un peu de malchance récemment et quelques mauvaises expériences. Je ne pense plus que le SIG soit une chose. Je pense que nous avons une tonne d'imbéciles dehors qui font semblant de funk et cela fait tomber beaucoup d'entre nous en tant qu'industrie. Nous avons une mauvaise éducation, des normes, un leadership, un financement, une adhésion des parties prenantes et peu de responsabilité envers nous-mêmes et les uns envers les autres. À quand remonte la dernière fois que vous avez appris quelque chose de nouveau ? À quand remonte la dernière fois que vous vous êtes demandé si mon équipe fait ça correctement ? Faisons-nous avancer le ballon ? Maximisons-nous nos compétences?


Voir la vidéo: Usare PostGIS con QGis: connessione e import shapefile OSGEO (Octobre 2021).