Suite

Utilisation de la souris pour sélectionner des enregistrements dans ArcPy

Utilisation de la souris pour sélectionner des enregistrements dans ArcPy


J'exécute la licence ArcGIS 10.1 Basic avec Python 2.7.2.

J'ai deux fichiers spatiaux : le premier répertoriant les positions des navires et le second l'activité à bord. J'ai également une collection de rapports dans Excel qui répertorient les événements que je dois enquêter en examinant ces données spatiales. Les trois fichiers incluent un identifiant et un champ date-heure.

Je veux pouvoir afficher la feuille de calcul, en utilisant la souris pour parcourir la feuille de calcul en sélectionnant des événements, puis en utilisant l'ID et la date-heure pour afficher les données spatiales correspondantes. Je pense à une requête de définition, puis à un zoom sur le calque.

J'ai besoin de flexibilité pour parcourir la feuille de calcul - peut-être des semaines plus tard, revenir dans la feuille de calcul et suivre l'enquête initiale d'un événement particulier. Donc, parcourir la feuille de calcul dans l'ordre avec un curseur n'est pas ce que je veux.

J'aimerais également pouvoir mettre à jour un champ indiquant l'état de l'enquête.

Le défi, bien sûr, consiste à accéder à cet enregistrement sélectionné manuellement dans la feuille de calcul et à extraire l'ID et la date et l'heure et à mettre à jour le statut de l'événement.

J'ai considéré quelques approches.

  1. Sélectionnez l'enregistrement en dehors de Python, puis utilisez le bouton pour activer un outil. Le problème est qu'on ne peut pas accéder à la sélection avec Python.

  2. Démarrez dans le script Python, puis sélectionnez l'enregistrement. Est-ce que quelqu'un sait comment afficher une vue tabulaire en Python, puis faire une sélection manuellement ?

  3. Sélectionnez l'enregistrement manuellement en dehors de Python, puis exportez l'enregistrement vers une table ou un fichier nommé. Démarrez un script Python qui fonctionne toujours avec la table ou le fichier nommé et son enregistrement unique.

J'ai cherché sur ce site et je n'ai trouvé personne essayant de le faire. Quelqu'un peut-il offrir des conseils?


Vous pouvez créer un outil complémentaire Python qui permet d'abord à un utilisateur de sélectionner des fonctionnalités (y compris avec une souris), puis exécute une logique sur la sélection. Voir le didacticiel pour un outil complémentaire.

Chaque fois que vous créez un curseur de recherche ArcPy sur une couche, seules les lignes sélectionnées sont renvoyées.

En combinaison, vous pourrez sélectionner des entités avec votre souris, puis appliquer un curseur de recherche uniquement à cette sélection. Il est également possible de lire par programmation votre feuille de calcul Excel, mais en fin de compte, elle sera jointe à une classe d'entités ou à une couche d'entités.


Sélectionnez un ROI statique sur la vidéo webcam sur python openCV

J'ai besoin de sélectionner un ROI (région d'intérêt) ou une zone de travail sur une vidéo en direct de ma webcam et de prendre UNIQUEMENT un instantané de cette zone de travail ou ROI, mais je ne trouve pas comment faire cela.

Dans cette page https://www.learnopencv.com/how-to-select-a-bounding-box-roi-in-opencv-cpp-python/ ayez un code pour dessiner un ROI mais seulement avec des images, pas un live vidéo.

Ce code prend un instantané avec la touche espace mais ne dessine pas de zone de retour sur investissement. Merci d'avance!


4 réponses 4

Dans gnome-terminal (et dans Ubuntu en général), le texte sélectionné signifie "copier" (ou "sélection X" si vous voulez être technique, ce qui est différent de "copie du presse-papiers"), qui peut être collé via un clic du milieu de la souris.

Faites-nous savoir si cela fonctionne pour vous.

Edit: je suis allé de l'avant et je l'ai vérifié moi-même. Cela fonctionne parfaitement. Voici les fichiers deb corrigés pour gnome-terminal-3.6.2 : téléchargés dans mediafire

Si vous utilisez la même version de gnome-terminal, vous pouvez télécharger les fichiers deb et l'installer en :

Edit : Pour référence future, voici la procédure complète :

Installer les dépendances de compilation :

Téléchargez les sources et appliquez le patch :

Les correctifs à jour sont maintenus par Tomi Valkeinen sur https://github.com/tomba/gnome-terminal sous les branches 'paste-*'.

tomba/gnome-terminal/index.html 3. Le fichier *-paste.patch est maintenant manquant, bloqué ici, ne peut pas continuer. &ndash Manohar Reddy Poreddy 20 mars 19 à 23:59

Permettez-moi de développer un peu ma réponse initiale. Techniquement, l'émulateur de terminal par défaut, le gnome-terminal n'a pas cette fonctionnalité et il n'y a aucun moyen de le définir pour autant que je sache ou que j'aie vu des recherches en ligne. Donc la réponse à ta question

Puis-je configurer le terminal par défaut d'Ubuntu pour qu'il fasse de même ?

D'un autre côté, putty est également disponible pour Ubuntu, et c'est la solution la plus simple et la moins coûteuse si vous voulez un comportement spécifique. Faites sudo apt-get install putty pour l'obtenir.

Il existe cependant quelques compromis que vous pouvez adopter, et ils existent tels quels pour des raisons historiques. L'environnement graphique sous Unix/Linux X server a ce qu'on appelle des sélections, considérez-les comme plusieurs presse-papiers - primaire, secondaire et "presse-papiers". La deuxième sélection est lorsque vous mettez du texte en surbrillance et utilisez la touche Maj Insertion ou le clic du milieu de la souris pour coller. Le clic du milieu de la souris est un clic sur la molette de défilement sur les souris et sur les pavés tactiles - clic droit et clic gauche pressés ensemble.

Il existe des solutions avec d'autres terminaux mais puisque vous demandez spécifiquement gnome-terminal, la réponse reste toujours, non, il n'y a pas d'autre moyen.


Événements de souris OpenCV en action

Maintenant que nous avons codé notre exemple, essayons-le. Ouvrez un terminal et exécutez la commande suivante :

Vous verrez d'abord l'image sur votre écran :

Figure 1: Notre image originale affichée à l'écran.

Sélectionnez la région que vous souhaitez recadrer en cliquant, en faisant glisser et en relâchant :

Figure 2: En cliquant et en faisant glisser la région de l'image que nous voulons recadrer.

Et enfin appuyez sur la touche c pour effectuer le recadrage :

Figure 3 : Recadrage de l'image réelle.

Comme vous pouvez le voir, nous avons réussi à recadrer le visage de Tim de l'image.

Voici un autre exemple où nous recadrons le Velociraptor :

Figure 4 : Un autre exemple de recadrage de notre image, cette fois en extrayant la tête du Velociraptor de l'image.

Donc là vous avez une méthode simple pour capturer les événements de la souris pour recadrer une image en utilisant Python et OpenCV.

Et après? Je recommande PyImageSearch University.

Je crois fermement que si vous aviez le bon professeur, vous pourriez Maître vision par ordinateur et apprentissage en profondeur.

Pensez-vous que l'apprentissage de la vision par ordinateur et de l'apprentissage en profondeur doit être long, accablant et compliqué ? Ou doit impliquer des mathématiques et des équations complexes ? Ou exige un diplôme en informatique?

Tout ce dont vous avez besoin pour maîtriser la vision par ordinateur et l'apprentissage en profondeur, c'est que quelqu'un vous explique les choses en simple, intuitif termes. Et c'est exactement ce que je fais. Ma mission est de changer l'éducation et la façon dont les sujets complexes de l'intelligence artificielle sont enseignés.

Si vous êtes sérieux au sujet de l'apprentissage de la vision par ordinateur, votre prochain arrêt devrait être l'Université PyImageSearch, le cours en ligne le plus complet sur la vision par ordinateur, l'apprentissage en profondeur et OpenCV en ligne aujourd'hui. Ici, vous apprendrez à avec succès et en toute confiance appliquer la vision par ordinateur à votre travail, vos recherches et vos projets. Rejoignez-moi dans la maîtrise de la vision par ordinateur.

À l'intérieur de l'Université PyImageSearch, vous trouverez :

  • &Chèque 23 cours sur les sujets essentiels de la vision par ordinateur, de l'apprentissage en profondeur et de l'OpenCV
  • &check 23 Certificats d'achèvement
  • &Chèque 35h 14m vidéo à la demande
  • &Chèque Nouveaux cours publiés chaque mois, en vous assurant que vous pouvez suivre les techniques de pointe
  • &Chèque Blocs-notes Jupyter préconfigurés dans Google Colab
  • &check Exécutez tous les exemples de code dans votre navigateur Web - fonctionne sur Windows, macOS et Linux (aucune configuration d'environnement de développement requise !)
  • &vérifier Accès à référentiels de code centralisés pour tout 400+ tutoriels sur PyImageSearch
  • &Chèque Téléchargements faciles en un clic pour le code, les ensembles de données, les modèles pré-entraînés, etc.
  • &vérifier Accès sur mobile, ordinateur portable, ordinateur de bureau, etc.

1 réponse 1

Les expressions sont votre ami. Honnêtement, je ne comprends pas comment quelqu'un utilise AE sans utiliser d'expressions. Pour que la taille d'un rectangle suive une souris, vous pouvez le faire.

Associez la souris et le rectangle à un null, avec le coin supérieur gauche du rectangle aligné avec le null. Sur la propriété de taille alt/option -cliquez sur le chronomètre pour ouvrir l'éditeur d'expressions.

Supprimez ce qui s'y trouve et faites glisser le pickwhip (la chose bouclée bleue) pour sélectionner la position du calque du curseur.

la propriété size ressemblera maintenant à :

(si votre calque de curseur s'appelle "cursor"). Maintenant, lorsque vous déplacez le curseur, le rectangle sera mis à l'échelle pour correspondre au mouvement. Mais il y a un problème, il se met à l'échelle à partir du milieu, vous pouvez donc ajouter un décalage à sa position pour vous assurer qu'il s'aligne correctement. Cette fois, nous utilisons aussi un peu de maths. Sur la propriété de position du chemin du rectangle (pas la propriété de position du calque) alt/option -cliquez sur le chronomètre et faites glisser le pickwhip vers la propriété de taille du rectangle, puis divisez cette valeur par 2. Cela ressemblera à :

Maintenant, votre rectangle doit être redimensionné comme s'il était tiré par le curseur. Vous devrez peut-être faire glisser manuellement le calque pour l'aligner parfaitement. Vous pouvez utiliser plus de javascript pour que le calque démarre et arrête de suivre la souris.

Allez apprendre des expressions. En bonus (ou peut-être en négatif), vous apprendrez le javascript, un langage informatique omniprésent.


3 réponses 3

Si vous appuyez sur Shift tout en faisant des choses avec la souris, cela remplace le protocole de la souris et vous permet de sélectionner/coller. C'est documenté dans le manuel xterm par exemple, et la plupart des émulateurs de terminaux copient ce comportement.

Notes pour OS X : dans iTerm, utilisez Option au lieu de Shift . Dans Terminal.app, utilisez Fn .

La réponse de Thomas Dickey est probablement ce que la plupart des gens recherchent.

Pour donner un peu plus de contexte sur le comportement que vous observez, lorsque le mode souris de tmux est activé, il permet la sélection de texte dans un volet particulier. C'est le texte en surbrillance rouge affiché dans votre capture d'écran. Cela peut être utile lorsque vous avez des volets divisés et que vous souhaitez copier uniquement du texte à l'intérieur d'un.

Lorsque vous relâchez le bouton de la souris, le texte sélectionné est copié dans le presse-papiers interne de tmux. Vous pouvez ensuite coller ce texte en utilisant Ctrl+B ] .

Malheureusement, il ne copie pas dans le presse-papiers principal du système, vous ne pouvez donc pas sélectionner dans tmux puis coller dans un navigateur par exemple. Vous pouvez cependant configurer ce comportement. Voir cette réponse à Comment copier et coller avec une souris avec tmux.


Oui, cela est possible en utilisant le Interface de souris à usage général (GPM).

Ce package fournit un démon qui capture les événements de la souris lorsque la console système est active et fournit des événements aux applications via une bibliothèque.

Par défaut, le démon propose un mode 'sélection', de sorte que le copier-coller avec la souris fonctionne sur la console comme sous X.

Basculez vers votre terminal virtuel

Déplacez la souris. Laissez-vous surprendre par le pointeur de bloc qui se déplace.

Sélectionnez un texte (inoffensif) comme vous le feriez dans l'interface graphique. Une fois que vous l'avez sélectionné, il est copié dans le presse-papiers.

Appuyez sur le bouton central de la souris pour coller.

J'aime vraiment le faire sur les serveurs lors du dépannage et vous voyez des fichiers journaux, mais vous devez le copier et le coller pour le rediriger vers grep par exemple.


2 réponses 2

Ci-dessous, vous trouverez un lien vers deux bookmarklets que j'ai postés sur jsfiddle. Si vous les faites glisser sur la barre d'outils de votre navigateur, lorsque vous ouvrez un message Gmail, cliquer sur un signet fait apparaître une fenêtre avec les adresses de l'expéditeur et des destinataires (y compris les CC). Puisqu'il s'agit d'une fenêtre contextuelle, dans Windows, appuyez simplement sur Ctrl - A , Ctrl - C et vous les sélectionnez et les copiez dans votre presse-papiers. Finalement, Ctrl - W (ou Alt - F4 ) fermera la fenêtre contextuelle (pour un système d'exploitation non Windows, vous devez utiliser les touches équivalentes).

Le bookmarklet nommé contLong affichera, lorsqu'il est disponible dans le message, le format long "John Smith [email protected]>" à la place contShort n'affichera que les adresses e-mail stockées en interne dans Gmail.

Les bookmarklets ont été testés avec Firefox et Chrome pour Windows. Inutile de mentionner que pour afficher la fenêtre de sortie vous force besoin de:
autoriser les fenêtres contextuelles du domaine https://mail.google.com.


Raccourcis clavier pour travailler avec des tableaux

La liste suivante répertorie les raccourcis clavier et souris disponibles lorsque vous travaillez avec des tableaux et la fenêtre de tableau. Ceux-ci peuvent être utilisés dans ArcMap, ArcGlobe et ArcScene, bien que les raccourcis de mise à jour soient uniquement pour ArcMap. Dans la plupart des cas, la fenêtre du tableau doit avoir le focus (être la fenêtre active) pour utiliser les raccourcis. Cliquez sur le tableau pour lui donner le focus.

Les touches de raccourci de la section "Interagir avec la carte à partir du tableau" s'appliquent à l'entité actuelle. La caractéristique actuelle est la ligne avec une flèche dans la première cellule à gauche, qui contient la cellule entourée d'une bordure noire en gras. Pour modifier l'entité actuelle, déplacez le curseur sur une autre ligne en cliquant ou en utilisant le clavier. Gardez à l'esprit que l'entité actuelle peut être différente de l'entité sélectionnée, où toute la ligne est colorée en cyan (la couleur par défaut).

Si vous appuyez sur F1 dans la fenêtre du tableau, vous pouvez obtenir une rubrique d'aide contextuelle qui répertorie des astuces et des raccourcis utiles pour travailler avec des tableaux.

Touche de raccourci Une fonction
Ouverture et fermeture des tables et des menus de table
Ctrl + T Ouvrez ou réduisez la table attributaire de la couche ou de la table sélectionnée dans la table des matières.
Ctrl + double-clic sur une couche ou une table dans la table des matières Ouvrez le tableau.
Ctrl + Entrée sur une couche d'entités dans la table des matières Ouvrez le tableau.
Ctrl + Maj + T Réduisez ou maximisez toutes les fenêtres de table ouvertes.
Ctrl + Maj + Tab Basculer entre les fenêtres de table ouvertes.
Ctrl + F4 Fermez la fenêtre du tableau actif.
Ctrl + Maj + F4 Fermez toutes les fenêtres de table ouvertes.
Alt + barre d'espace (lorsque la fenêtre du tableau a le focus) Ouvrez le menu Système de la fenêtre du tableau (à partir du menu Système, vous pouvez restaurer, déplacer, redimensionner, réduire, agrandir ou fermer la fenêtre).
Clé d'application (lorsque la fenêtre de la table a le focus) Ouvrez le menu contextuel de la ligne.
Ctrl + touche Application (lorsque la fenêtre du tableau a le focus) Ouvrez le menu Options de la fenêtre du tableau.
Sélection dans le tableau
Ctrl + Tab Basculez entre Afficher tout et Afficher les vues sélectionnées.
Ctrl + A Sélectionnez tous les enregistrements.
Ctrl + Maj + A Désélectionnez tous les enregistrements.
Barre d'espace Sélectionnez ou désélectionnez la ligne.*
Ctrl + barre d'espace Sélectionnez ou désélectionnez la ligne.
Maj + barre d'espace Faites une sélection de bloc. Vous pouvez utiliser la barre d'espace pour sélectionner un enregistrement, flèche vers le bas ou vers le haut de plusieurs enregistrements, puis maintenez la touche Maj enfoncée et appuyez sur la barre d'espace, et tous les enregistrements de celui que vous avez initialement sélectionné seront désormais sélectionnés.*
Retour arrière Désélectionnez la ligne.
Ctrl + Retour arrière Désélectionnez tous les enregistrements.
Ctrl + Maj + R Sélectionnez uniquement les enregistrements mis en surbrillance dans la vue Afficher la sélection et désélectionnez tous les autres enregistrements.
Ctrl + Entrée (ou Ctrl + Maj + Entrée) Passez à l'enregistrement suivant et sélectionnez-le exclusivement (particulièrement utile pour parcourir de manière séquentielle une table, examiner ou modifier chaque enregistrement et examiner l'entité qu'il représente sur la carte).
Ctrl + U Changer la sélection.
Maj + flèche vers le bas (ou Maj + flèche vers le haut) Sélectionnez en continu les enregistrements (les enregistrements sont désélectionnés si vous changez de touche fléchée tout en maintenant la touche Maj enfoncée).
Cliquez sur la cellule en haut à gauche du tableau avec la souris Effacer la sélection.
Maj + clic sur la cellule en haut à gauche du tableau avec la souris Sélectionnez tous les enregistrements.
Ctrl + clic sur la cellule en haut à gauche du tableau avec la souris Changer la sélection.
Interagir avec la carte de la table
Ctrl + Maj + = Zoom sur les entités sélectionnées.
Ctrl + = Zoomez et flashez sur la fonction actuelle.
Ctrl + 8 Fonctionnalité actuelle du flash.
Ctrl + P Panoramique et flash sur la fonction actuelle.
Ctrl + I Identifiez la fonction actuelle.
Double-cliquez sur la cellule grise à gauche d'un enregistrement Zoomez sur l'entité représentée par un enregistrement et sélectionnez-la.
Ctrl + double-clic sur la cellule grise à gauche d'un enregistrement Faites un panoramique sur l'entité représentée par un enregistrement et sélectionnez-le.
Naviguer dans le tableau
Languette Passez à la colonne suivante. Si à la fin de la ligne, allez à la première cellule de la ligne suivante.
Maj + Tab Aller à la colonne précédente. Si au début de la ligne, passez à la dernière cellule de la ligne précédente.
Entrer Passez à la ligne suivante dans la même colonne.
Maj + Entrée Aller à la ligne précédente dans la même colonne.
Domicile Allez à la première cellule de la ligne.
Ctrl + Accueil Allez à la première ligne, première cellule.
Finir Aller à la dernière cellule de la ligne.
Ctrl + Fin Aller à la dernière ligne, dernière cellule.
Touches directionnelles Allez dans le sens de la touche fléchée.
Ctrl + flèche gauche Accédez à la première cellule de la ligne (identique à la page d'accueil).
Ctrl + flèche droite Aller à la dernière cellule de la ligne (identique à la fin).
Ctrl + flèche vers le haut Aller à la première ligne de la même colonne.
Ctrl + flèche vers le bas Aller à la dernière ligne de la même colonne.
Ctrl + G Aller à un numéro d'enregistrement.
Travailler avec des champs
Double-cliquez sur un nom de champ Champ de tri.
Ctrl + Maj + U Supprimer le tri des champs.
Ctrl + double-clic sur un nom de champ (ou Ctrl + H) Désactiver le champ.
Ctrl + Maj + double-clic sur un nom de champ Masquer le champ. Un champ masqué sera toujours disponible dans les boîtes de dialogue qui répertorient les champs, mais vous pouvez économiser de l'espace dans la fenêtre du tableau en le masquant.
Ctrl + clic droit sur un nom de champ (ou Ctrl + Maj + N) Basculer entre l'affichage des noms de champ et des alias de champ.
Alt + double-clic sur un nom de champ (ou Ctrl + Shift + P) Ouvrez la boîte de dialogue Propriétés du champ.
Maj + double-clic sur un nom de champ (ou Ctrl + Maj + S) Ouvrez la boîte de dialogue Tri avancé des tableaux.
Ctrl + Maj + F Ouvrez la boîte de dialogue Calculatrice de champs.
Ctrl + Maj + G Ouvrez la boîte de dialogue Calculer la géométrie.
Ctrl + Maj + A Redimensionnez les champs automatiquement.
Maj + rouler la molette de la souris Faites défiler le tableau horizontalement pour voir plus de champs dans la fenêtre.
Ctrl + rouler la molette de la souris Effectuez un zoom avant et arrière sur la fenêtre du tableau.
Modification dans le tableau
Ctrl + Maj + E Démarrer ou arrêter une session de modification.
Ctrl + C (ou Ctrl + Insertion) Copiez la valeur d'une cellule dans le presse-papiers.
Ctrl + Maj + C Copiez les enregistrements sélectionnés dans le presse-papiers.
F2 Commencer à éditer une cellule.**
Esc Annule ce qui a été modifié dans la cellule et restaure la valeur d'origine.**
Supprimer (ou Ctrl + D) Supprimer les lignes sélectionnées.**
Ctrl + V (ou Maj + Insertion) Pâte.**
Ctrl + Z Annuler les modifications apportées à un enregistrement.**
Ctrl + Y Rétablir les modifications dans un enregistrement.**
Maj + Entrée Ajoutez un retour chariot à la cellule en cours d'édition, créant une cellule multiligne.
Ctrl + F Ouvrez la boîte de dialogue Rechercher et remplacer.

* Uniquement en dehors d'une session de montage
** Uniquement lors d'une session de montage

Voir Raccourcis clavier à utiliser dans ArcMap pour d'autres raccourcis dans ArcMap. Vous pouvez également télécharger ArcGIS Desktop : une sélection de conseils et de raccourcis pour gagner du temps, un PDF imprimable de conseils et de raccourcis, à partir de la page Web de documentation d'ESRI.


Corriger en changeant par erreur la sélection de la souris sur le bouton gauche

Lorsque j'ai installé la version 2.81, j'ai choisi par erreur de sélectionner avec le bouton gauche. J'utilise la souris avec ma main gauche et je veux en fait sélectionner avec le bouton droit. Mes Préférences>Entrée n'a pas de disposition pour changer cela. Mon téléchargement s'appelle /blender-2.81a-linux-glibc217-x86_64. Y at-il un travail autour?

(J'ai installé deux versions précédentes de Blender et lorsque je les ai utilisées, j'ai sélectionné avec le bouton gauche.)


Voir la vidéo: Select Features by attribute in ArcMap - ArcGIS for Beginners