Suite

Polygone trouvé avec le curseur de recherche, mais pas le curseur de mise à jour

Polygone trouvé avec le curseur de recherche, mais pas le curseur de mise à jour


Voici mon problème. Je fais deux choses avec arcpy :

1) Je recherche une classe d'entités en utilisantarcpy.da.SearchCursor()et extrayez un champ UID et la géométrie au format WKB pour tous les polygones du fichier, en les stockant dans un dictionnaire.

2) J'ouvre une classe d'entités différente mais similaire et j'utilisearcpy.da.UpdateCursor()pour mettre à jour les géométries des polygones qui ont le même UID que ci-dessus.

Le problème n'est pas que tous les polygones sont mis à jour, même si exactement le même UIDS existe dans les deux classes d'entités. Certains d'entre eux se mettent à jour très bien, mais un peu moins de la moitié ne le font pas.

import arcpy, time updated_rid_dict = {} updated_rows = 0 # Saisissez les UID et les géométries des régions mises à jour avec arcpy.da.SearchCursor(good_geometry_shape, field_names=['RegionID', '[email protected]']) comme curseur : pour la ligne dans le curseur : update_rid_dict[row[0]] = row[1] print "{} régions mises à jour trouvées".format(len(updated_rid_dict)) # renvoie 594 # Ouvrir une session d'édition et essayer de trouver toutes les régions dans updated_rid_dict edit = arcpy.da .Editor([chemin d'accès à mes données]) edit.startEditing(False, False) edit.startOperation() avec arcpy.da.UpdateCursor(bad_geometry_shape, field_names=['RegionID', '[email protected]']) comme curseur : pour ligne dans le curseur : # Voir si la fonctionnalité est dans le update_rid_dict if row[0] dans updated_rid_dict : updated_rows += 1 del updated_rid_dict[row[0]] edit.stopOperation() edit.stopEditing(True) print "{} lignes mises à jour .".format(updated_rows) # Renvoie seulement 313

Le code ci-dessus n'essaie même pas de faire une mise à jour. Je peux littéralement changer "UpdateCursor" en "SearchCursor" et soudain, arcpy peut trouver tous les polygones dans updated_rid_dict. Je le remplace par "UpdateCursor" et arcpy ne peut trouver que certaines des régions. Je n'ai aucune idée de ce qui pourrait mal se passer. Des idées?

MISE À JOUR : L'utilisation de curseurs normaux ne résout pas le problème. Des tests supplémentaires montrent que arcpy.da.UpdateCursor() parcourt chaque enregistrement jusqu'à l'OID 16781, puis s'arrête. UpdateCursor a-t-il des limitations dont je ne suis pas au courant ? 16 781 enregistrements ne me semblent pas si nombreux.


J'ai trouvé la solution, même si je ne sais pas pourquoi cela fonctionne. Le code fonctionne si je déplace edit.startOperation() et edit.stopOperation() à l'intérieur de la boucle :

# Ouvrez une session d'édition et essayez de trouver toutes les régions dans updated_rid_dict edit = arcpy.da.Editor([path to my data]) edit.startEditing(False, False) avec arcpy.da.UpdateCursor(bad_geometry_shape, field_names=[' RegionID', '[email protected]']) comme curseur : pour la ligne dans le curseur : # Voir si la fonctionnalité est dans le update_rid_dict if row[0] dans updated_rid_dict : edit.startOperation() updated_rows += 1 edit.stopOperation() modifier .stopEditing(True)

Je ne comprends pas du tout pourquoi arcpy en a besoin, d'autant plus que ce code n'exécute aucune modification. Si quelqu'un a une idée, veuillez commenter ci-dessous! Merci pour toutes vos suggestions.


Outre la raison que vous avez mentionnée dans votre réponse, ce que vous essayez de faire va à l'encontre de la façon dont SQL est censé être utilisé. Essayez de mettre à jour les données par ensembles, pas par lignes.

je ne suis pas positif, car je ne connais pas la conception de votre table, mais je pense que ce qui suit devrait fonctionner. Toi mai obtenir de meilleures performances. En particulier, je suppose que QTY_CHANGE provient de #ia , bien que cela puisse ne pas être le cas.

. la version précédente de la réponse a été écrite avec une perspective DB2, bien qu'elle soit autrement indépendante de la base de données. Il a également eu le problème d'utiliser la même valeur de QTY_CHANGE pour chaque ligne, ce qui est peu probable. Cela devrait être une version plus idiomatique de SQL Server 2008, tout en étant plus susceptible de générer la bonne réponse :


Comment changer la forme, la couleur et le taux de clignotement du curseur de la console Linux ?

Je sais que je peux modifier certains paramètres fondamentaux de la console Linux, comme les polices, par exemple, avec dpkg-reconfigure console-setup .

Mais j'aimerais changer des choses comme le taux de clignotement, la couleur et la forme (je veux que mon curseur soit un bloc, à tout moment). J'ai vu des gens accomplir cela. Je n'ai tout simplement jamais eu l'occasion de demander à ces gens comment faire cela.

Je ne parle pas des fenêtres de l'émulateur de terminal, je veux dire de la console de texte Linux, vous atteignez avec Ctrl + Alt + F-key

J'utilise actuellement Linux Mint, qui est un dérivé de Debian. J'aimerais savoir comment faire cela dans Fedora aussi, cependant.

Éditer: Je suis peut-être sur quelque chose

J'ai appris de ce site Web, comment faire les changements dont j'ai besoin. Mais je n'ai pas encore fini.

J'ai choisi d'utiliser echo -e "e[?160200c" pour l'instant, mais j'ai un problème : lors de l'exécution d'applications telles que vim ou irssi , ou lors de la connexion d'une session d'écran, le curseur redevient gris clignotant souligner.

Et bien sûr, cela ne fonctionne que sur celui-ci, toutes les autres consoles de texte ne sont pas affectées.

Alors, comment puis-je rendre ces changements permanents ? Comment puis-je les remplir sur d'autres consoles ?


Présentation de la méthode

Renvoie un tuple d'angle et de distance à un autre point à l'aide d'un type de mesure.

Construit la limite de la géométrie.

Construit un polygone à une distance spécifiée de la géométrie.

Construit l'intersection de la géométrie et de l'étendue spécifiée.

Indique si la géométrie de base contient la géométrie de comparaison.

contient est l'opposé de à l'intérieur.

Seules les relations vraies sont affichées dans cette illustration.

Construit la géométrie qui est le polygone de délimitation minimal de telle sorte que tous les angles extérieurs soient convexes.

Indique si les deux géométries se coupent dans une géométrie d'un type de forme inférieur.

Deux polylignes se croisent si elles ne partagent que des points en commun, dont au moins un n'est pas une extrémité. Une polyligne et un polygone se croisent s'ils partagent une polyligne ou un point (pour une ligne verticale) en commun à l'intérieur du polygone qui n'est pas équivalent à la polyligne entière.

Seules les relations vraies sont affichées dans cette illustration.

Divise cette géométrie en une partie à gauche de la polyligne de coupe et une partie à droite de celle-ci.

Lorsqu'une polyligne ou un polygone est coupé, il est divisé à l'endroit où il coupe la polyligne de coupe. Chaque pièce est classée à gauche ou à droite de la fraise. Cette classification est basée sur l'orientation de la ligne de coupe. Les parties de la polyligne cible qui n'intersectent pas la polyligne de coupe sont renvoyées comme faisant partie du droit de résultat pour cette polyligne en entrée. Si une géométrie n'est pas coupée, la géométrie de gauche sera vide ( Aucun ).

Crée une nouvelle géométrie avec des sommets ajoutés.

Construit la géométrie composée uniquement de la région unique de la géométrie de base mais ne faisant pas partie de l'autre géométrie. L'illustration suivante montre les résultats lorsque le polygone rouge est la géométrie source.

Indique si les géométries de base et de comparaison ne partagent aucun point commun.

Deux géométries se coupent si disjoint renvoie False .

Seules les relations vraies sont affichées dans cette illustration.

Renvoie la distance minimale entre deux géométries. Si les géométries se coupent, la distance minimale est 0.

Les deux géométries doivent avoir la même projection.

Indique si les géométries de base et de comparaison sont du même type de forme et définissent le même ensemble de points dans le plan. Il s'agit d'une comparaison 2D, seules les valeurs M et Z sont ignorées.

Seules les relations vraies sont affichées dans cette illustration.

Crée une nouvelle géométrie simplifiée à l'aide d'une tolérance de décalage maximale spécifiée.

Renvoie la zone de l'entité à l'aide d'un type de mesure.

Renvoie la longueur de l'entité à l'aide d'un type de mesure.

Renvoie un tableau d'objets ponctuels pour une partie particulière de la géométrie ou un tableau contenant un certain nombre de tableaux, un pour chaque partie.

Construit une géométrie qui est l'intersection géométrique des deux géométries en entrée. Différentes valeurs de dimension peuvent être utilisées pour créer différents types de formes.

L'intersection de deux géométries du même type de forme est une géométrie contenant uniquement les régions de chevauchement entre les géométries d'origine.

Pour des résultats plus rapides, testez si les deux géométries sont disjointes avant d'appeler intersect .

Renvoie une mesure du point de départ de cette ligne au in_point .

Indique si l'intersection des deux géométries a le même type de forme que l'une des géométries en entrée et n'est équivalente à aucune des géométries en entrée.

Seules les relations vraies sont affichées dans cette illustration.

Renvoie un point à un angle et une distance donnés en degrés et en mètres à l'aide du type de mesure spécifié.

Renvoie un point sur une ligne à une distance spécifiée du début de la ligne.

Projette une géométrie et applique éventuellement une géotransformation.

Pour projeter, la géométrie doit avoir une référence spatiale et non un UnknownCoordinateSystem . Le nouveau système de référence spatiale passé à la méthode définit le système de coordonnées de sortie. Si l'une des références spatiales est inconnue, les coordonnées ne seront pas modifiées. Les valeurs Z et de mesure ne sont pas modifiées par la méthode ProjectAs.

Recherche le point sur la polyligne le plus proche du point in_point et la distance entre ces points. Renvoie également des informations sur le côté de la ligne sur lequel se trouve in_point ainsi que la distance le long de la ligne où se trouve le point le plus proche.

Renvoie une polyligne entre les mesures de début et de fin. Similaire à Polyline.positionAlongLine mais renverra un segment de polyligne entre deux points sur la polyligne au lieu d'un seul point.

Renvoie un nouveau point basé sur in_point accroché à cette géométrie.

Construit la géométrie qui est l'union de deux géométries moins l'intersection de ces géométries.

Les deux géométries d'entrée doivent être du même type de forme.

Indique si les limites des géométries se coupent.

Deux géométries se touchent lorsque l'intersection des géométries n'est pas vide, mais que l'intersection de leurs intérieurs est vide. Par exemple, un point touche une polyligne uniquement si le point coïncide avec l'un des points d'extrémité de la polyligne.

Seules les relations vraies sont affichées dans cette illustration.

Construit la géométrie qui est l'union théorique des ensembles des géométries d'entrée.

Les deux géométries réunies doivent être du même type de forme.

Indique si la géométrie de base se trouve dans la géométrie de comparaison.

dans est l'opérateur opposé de contient .

Seules les relations vraies sont affichées dans cette illustration.


3 réponses 3

Si vous avez défini les contraintes de clé étrangère sur ON UPDATE CASCADE, la valeur de clé primaire qui a été modifiée doit être appliquée en cascade à toutes les clés étrangères avec cette contrainte.

Si vous n'avez pas la contrainte ON UPDATE CASCADE, vous devrez créer des scripts pour terminer la mise à jour.

EDIT : Puisque vous n'avez pas la contrainte ON UPDATE CASCADE, mais que vous souhaitez la configurer, c'est un peu de travail. SQL Server ne prend pas en charge la modification des contraintes vers un nouveau paramètre.

Il est nécessaire de parcourir chaque table ayant une contrainte FK jusqu'à la table PK. Pour chaque table avec le FK :

  1. ALTER TABLE pour supprimer la contrainte FK existante.
  2. ALTER TABLE à nouveau pour créer la contrainte ON UPDATE CASCADE pour le FK en question.

Cela demande un peu d'effort, mais entraînerait une configuration correcte de votre contrainte pour votre cas.

EDIT 2: Les informations dont vous avez besoin se trouvent dans sys.foreign_keys. Vous pouvez sélectionner dans ce tableau pour obtenir toutes les informations dont vous avez besoin.

Un article de John Paul Cook peut être trouvé ici :

Ce code supprimera et créera TOUTES les contraintes FK dans une base de données. Vous devriez pouvoir travailler à partir de cela pour apporter uniquement les modifications que vous souhaitez dans votre base de données.


4 réponses 4

M'a pris deux jours. Solution finale:

  1. sudo dpkg-reconfigurer gdm #select gdm
  2. sudo apt-get supprimer lightdm * --purge
  3. redémarrage sudo
  4. sudo apt-get install lightdm*
  5. sudo dpkg-reconfigurer gdm #select lightdm

Lubuntu 15.x :
Sur l'écran noir de lightdm-greeter, je suis passé à un terminal virtuel ( Alt 2 ), connecté, puis j'ai trouvé le pid de lightdm-greeter avec top -b -n 1 | grep 'lightdm' , puis j'ai essayé sudo kill -s SIGHUP [pid] , puis j'ai à nouveau utilisé top pour voir si le message d'accueil était toujours en cours d'exécution, puis j'ai essayé sudo kill -s SIGTERM et j'ai utilisé à nouveau top et le message d'accueil n'était pas en cours d'exécution. Ensuite, je suis revenu à la session/connexion graphique. Il y avait un message qui indiquait que la session était verrouillée et que je serais redirigé vers une connexion. J'ai attendu peut-être 7 secondes et le lightdm-greeter est apparu. J'ai pu me connecter. Session GUI intacte.

J'ai commencé à rencontrer ce problème après avoir appliqué le correctif lightdm actuel la semaine dernière. Le message d'accueil ne pouvait pas démarrer en raison d'un manque d'accès à /var/lib/lightdm/.Xauthority , le résultat étant une erreur de mode graphique faible qui ne pouvait être résolue que pour une session en supprimant /var/lib/lightdm/.Xauthority . Ce problème semble être causé par ce nouveau correctif qui donne au fichier .Xauthority des autorisations beaucoup plus strictes (600 au lieu de 664). Voir ce qui suit :

  • MISE À JOUR DE SÉCURITÉ : autorisations incorrectes sur le fichier .Xauthority (LP : #1175023)
    • debian/patches/07_xauthority_perms.patch : utilisez g_open au lieu de g_file_set_contents dans src/xauthority.c.
    • debian/patches/08_xauthority_fix_perms.patch : corrige les autorisations incorrectes laissées par les versions précédentes dans src/xauthority.c.
    • CVE-2013-4331

    Le correctif suggéré ci-dessus a semblé fonctionner pendant environ une demi-heure jusqu'à ce que l'ancien comportement revienne, avec le problème supplémentaire des fichiers .Xauthority périmés laissés avec 600 autorisations dans les répertoires personnels des utilisateurs, provoquant des boucles de connexion graphiques.

    Pour contourner ce problème, j'ai créé un script wrapper pour xfce-session-logout (j'utilise XFCE) qui supprime .Xauthority des deux répertoires d'accueil des utilisateurs et de /var/lib/lightdm . Étant donné que ce script doit utiliser sudo pour assumer l'autorité appropriée pour supprimer /var/lib/lightdm/.Xauthority , ce n'est pas idéal, bien que cela fonctionne. L'utilisation de gdm évite également ce problème. Ma situation est également compliquée peut-être par le fait que j'accède au système local via la console et via xdmcp .

    Pour résoudre le problème de sécurité dans le correctif ci-dessus, Ubuntu doit corriger tous les autres programmes (les écrans d'accueil par exemple) ayant besoin d'accéder à .Xauthority car actuellement, en corrigeant le problème de sécurité, ils ont effectivement cassé lightdm . Ce n'est pas très bon.


    Polygone trouvé avec le curseur de recherche, mais pas le curseur de mise à jour - Systèmes d'information géographique

    Permet d'accéder à des membres supplémentaires qui contrôlent les aspects communs d'une couche d'entités.

    La description

    Remarques

    La disponibilité des produits

    Résumé de la méthode
    annuler expandRegionForSymbols (affichage IDisplay, région IGeometry)
    Développe la géométrie donnée d'une quantité qui inclura la symbologie de la couche pour l'affichage donné.
    Chaîne de caractères getDataSourceType ()
    Type de source de données.
    Chaîne de caractères getDisplayField ()
    Champ d'affichage principal.
    IFeatureClass getFeatureClass ()
    La classe d'entités de la couche.
    entier obtenirTypeForme ()
    Le type de forme du calque.
    booléen isScaleSymboles ()
    Indique si les symboles sont mis à l'échelle pour la couche.
    booléen est sélectionnable ()
    Indique si le calque est sélectionnable.
    IFeatureCurseur recherche (IQueryFilter queryFilter, recyclage booléen)
    Crée un curseur en fonction des critères de recherche.
    annuler setDataSourceType (chaîne de texte)
    Type de source de données.
    annuler setDisplayField (String fieldName)
    Champ d'affichage principal.
    annuler setFeatureClassByRef (IFeatureClass fclass)
    La classe d'entités de la couche.
    annuler setScaleSymbols (échelle booléenne)
    Indique si les symboles sont mis à l'échelle pour la couche.
    annuler setSelectable (valeur booléenne)
    Indique si le calque est sélectionnable.

    GetFeatureClass

    La description

    La source de données FeatureClass pour la couche.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Une référence à un com.esri.arcgis.geodatabase.IFeatureClass Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetFeatureClassByRef

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : fclass - Une référence à un com.esri.arcgis.geodatabase.IFeatureClass (in) Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    GetDataSourceType

    La description

    Décrit le type de données référencé par la couche d'entités. Dans ArcMap et ArcCatalog, cette description apparaît dans la boîte de dialogue des propriétés de la couche dans l'onglet Source après "Type de données :"

    Remarques

    Voici une liste de valeurs par défaut pour DataSourceType pour les types de couches d'entités courants :

    Type de calque Valeur
    Géodatabase personnelle "Classe d'entités de géodatabase personnelle"
    SDE "Classe d'entités SDE"
    Fichier de formes "Classe d'entités Shapefile"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (annotation) "Classe d'entités d'annotation"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (point) "Classe d'entités ponctuelles"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (ligne) "Classe d'entités Arc"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (polygone) "Classe d'entités polygones"
    Bord "Classe d'entités StreetMap"
    CAO (annotation) "Classe d'objets d'annotation CAO"
    CAD (point) "Classe d'entités ponctuelles CAD"
    CAO (ligne) "Classe d'entités polyligne CAO"
    CAO (polygone) "Classe d'entités de polygones CAO"

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Le texte renvoie : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetDataSourceType

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : text - Le texte (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    GetDisplayField

    La description

    Nom du champ d'affichage principal de la couche.

    Remarques

    Généralement, ce nom de champ contient la chaîne "nom", ou est le premier champ de chaîne trouvé dans les attributs de la couche. Ce champ est utilisé pour afficher des conseils de carte pour la couche. La valeur de cette propriété doit correspondre au nom de l'un des champs de la FeatureClass de la couche.

    Notez que si une expression d'affichage est définie, cette méthode renverra une chaîne nulle si elle est interrogée et échouera si vous essayez de définir une valeur. Voir IDisplayExpressionProp pour plus d'informations.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Le fieldName renvoie : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetDisplayField

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : fieldName - Le fieldName (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    Est sélectionnable

    La description

    Indique si les entités de la couche sont sélectionnables.

    Remarques

    La valeur par défaut de Selectable est False .

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : La valeur Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetSelectable

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : value - La valeur (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    Chercher

    La description

    Utilisez cette méthode pour renvoyer un curseur en lecture seule des entités de la couche.

    Remarques

    Si une requête de définition est définie sur la couche, la méthode de recherche fonctionnera automatiquement sur le sous-ensemble d'entités de la couche qui répondent aux critères de définition. Vous spécifiez une requête supplémentaire qui sera appliquée après la requête de définition de la couche en passant un objet IQueryFilter valide pour le paramètre QueryFilter.

    Cette méthode de recherche ne fonctionnera pas sur les champs joints. Si le FeaureLayer a des jointures, vous devez utiliser la méthode IGeoFeatureLayer::SeachDisplayFeatures à la place.

    Vous ne pouvez pas utiliser le curseur renvoyé par IFeatureLayer::Search pour mettre à jour les fonctionnalités, utilisez plutôt IFeatureClass::Update .

    Le recyclage spécifie si le curseur de fonction résultant sera recyclé ou non. Utilisez True pour le curseur de recyclage et False pour un curseur de non-recyclage. Consultez la rubrique IFeatureClass::Search pour plus d'informations.

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : queryFilter - Une référence à un com.esri.arcgis.geodatabase.IQueryFilter (en) recyclage - Le recyclage (en) Retours : Une référence à un com.esri.arcgis.geodatabase.IFeatureCursor Lance : IOException - S'il y a interop problèmes. AutomationException - Si le composant ArcObject lève une exception.

    IsScaleSymboles

    La description

    Indique si les symboles de cette couche respecteront l'échelle de référence de la carte contenant la couche. Définissez cette propriété sur True pour votre couche et définissez une échelle de référence de carte pour avoir l'échelle de symbologie de votre couche lorsque vous effectuez un zoom avant et arrière.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : L'échelle lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetScaleSymbols

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : scale - L'échelle (in) Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    ObtenirTypeForme

    Remarques

    Renvoie le type de géométrie de base de la classe d'entités sous-jacente de la couche. Voir IFeatureClass::ShapeType pour plus d'informations.


    Polygone trouvé avec le curseur de recherche, mais pas le curseur de mise à jour - Systèmes d'information géographique

    Fournit un accès aux membres qui contrôlent les aspects communs d'une couche d'entités.

    Remplacé par

    La description

    Remarques

    Cette interface possède des propriétés qui spécifient la classe d'entités de la couche, le type de source de données, le champ d'affichage principal, si oui ou non l'échelle des symboles de couche est basée sur l'échelle de référence de la carte et si la couche est sélectionnable ou non.

    Il existe aussi une méthode Chercher pour effectuer une recherche sur la couche. Cette méthode renvoie un curseur d'entités de la couche qui répondent à un critère de recherche donné. S'il y a une requête de définition définie sur la couche, Chercher travaillera sur le sous-ensemble des entités de la couche qui répondent aux critères de définition. Cependant, le Chercher La méthode ne fonctionnera pas sur les champs joints. Si la couche d'entités a des jointures, utilisez le IGeoFeatureLayer::SearchDisplayFeatures méthode à la place.

    IGeoFeatureLayer donne accès à toutes les propriétés et méthodes de IFeatureCalque ainsi que des propriétés supplémentaires pour accéder au rendu d'entités et aux propriétés d'étiquetage d'une couche. Prise en charge de moins de types de couches IGeoFeatureLayer par rapport à IFeatureCalque.

    La disponibilité des produits

    Résumé de la méthode
    Chaîne de caractères getDataSourceType ()
    Type de source de données.
    Chaîne de caractères getDisplayField ()
    Champ d'affichage principal.
    IFeatureClass getFeatureClass ()
    La classe d'entités de la couche.
    booléen isScaleSymboles ()
    Indique si les symboles sont mis à l'échelle pour la couche.
    booléen est sélectionnable ()
    Indique si le calque est sélectionnable.
    IFeatureCurseur recherche (IQueryFilter queryFilter, recyclage booléen)
    Crée un curseur en fonction des critères de recherche.
    annuler setDataSourceType (chaîne de texte)
    Type de source de données.
    annuler setDisplayField (String fieldName)
    Champ d'affichage principal.
    annuler setFeatureClassByRef (IFeatureClass fclass)
    La classe d'entités de la couche.
    annuler setScaleSymbols (échelle booléenne)
    Indique si les symboles sont mis à l'échelle pour la couche.
    annuler setSelectable (valeur booléenne)
    Indique si le calque est sélectionnable.
    Méthodes héritées de l'interface com.esri.arcgis.carto.ILayer
    draw, getAreaOfInterest, getMaximumScale, getMinimumScale, getName, getSupportedDrawPhases, getTipText, isCached, isShowTips, isValid, isVisible, setCached, setMaximumScale, setMinimumScale, setName, setShowTips, setSpatialReferenceB

    GetFeatureClass

    La description

    La source de données FeatureClass pour la couche.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Une référence à un com.esri.arcgis.geodatabase.IFeatureClass Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetFeatureClassByRef

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : fclass - Une référence à un com.esri.arcgis.geodatabase.IFeatureClass (in) Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    GetDataSourceType

    La description

    Décrit le type de données référencé par la couche d'entités. Dans ArcMap et ArcCatalog, cette description apparaît dans la boîte de dialogue des propriétés de la couche dans l'onglet Source après "Type de données :"

    Remarques

    Voici une liste de valeurs par défaut pour DataSourceType pour les types de couches d'entités courants :

    Type de calque Valeur
    Géodatabase personnelle "Classe d'entités de géodatabase personnelle"
    SDE "Classe d'entités SDE"
    Fichier de formes "Classe d'entités Shapefile"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (annotation) "Classe d'entités d'annotation"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (point) "Classe d'entités ponctuelles"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (ligne) "Classe d'entités Arc"
    Couverture ArcGIS for Desktop Advanced ou PC ArcInfo (polygone) "Classe d'entités polygones"
    Bord "Classe d'entités StreetMap"
    CAO (annotation) "Classe d'objets d'annotation CAO"
    CAD (point) "Classe d'entités ponctuelles CAD"
    CAO (ligne) "Classe d'entités polyligne CAO"
    CAO (polygone) "Classe d'entités de polygones CAO"

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Le texte renvoie : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetDataSourceType

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : text - Le texte (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    GetDisplayField

    La description

    Nom du champ d'affichage principal de la couche.

    Remarques

    Généralement, ce nom de champ contient la chaîne "nom", ou est le premier champ de chaîne trouvé dans les attributs de la couche. Ce champ est utilisé pour afficher des conseils de carte pour la couche. La valeur de cette propriété doit correspondre au nom de l'un des champs de la FeatureClass de la couche.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : Le fieldName renvoie : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetDisplayField

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : fieldName - Le fieldName (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    Est sélectionnable

    La description

    Indique si les entités de la couche sont sélectionnables.

    Remarques

    La valeur par défaut de Selectable est False .

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : La valeur Lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    SetSelectable

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : value - La valeur (in) Génère : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.

    Chercher

    La description

    Utilisez cette méthode pour renvoyer un curseur en lecture seule des entités de la couche.

    Remarques

    Si une requête de définition est définie sur la couche, la méthode de recherche fonctionnera automatiquement sur le sous-ensemble d'entités de la couche qui répondent aux critères de définition. Vous spécifiez une requête supplémentaire qui sera appliquée après la requête de définition de la couche en passant un objet IQueryFilter valide pour le paramètre QueryFilter.

    Cette méthode de recherche ne fonctionnera pas sur les champs joints. Si le FeatureLayer a des jointures, vous devez utiliser la méthode IGeoFeatureLayer::SearchDisplayFeatures à la place.

    Vous ne pouvez pas utiliser le curseur renvoyé par IFeatureLayer::Search pour mettre à jour les fonctionnalités, utilisez plutôt IFeatureClass::Update .

    Le recyclage spécifie si le curseur de fonction résultant sera recyclé ou non. Utilisez True pour le curseur de recyclage et False pour un curseur de non-recyclage. Consultez la rubrique IFeatureClass::Search pour plus d'informations.

    La disponibilité des produits

    Plateformes prises en charge

    Paramètres : queryFilter - Une référence à un com.esri.arcgis.geodatabase.IQueryFilter (en) recyclage - Le recyclage (en) Retours : Une référence à un com.esri.arcgis.geodatabase.IFeatureCursor Lance : IOException - S'il y a interop problèmes. AutomationException - Si le composant ArcObject lève une exception.

    IsScaleSymboles

    La description

    Indique si les symboles de cette couche respecteront l'échelle de référence de la carte contenant la couche. Définissez cette propriété sur True pour votre couche et définissez une échelle de référence de carte pour avoir l'échelle de symbologie de votre couche lorsque vous effectuez un zoom avant et arrière.

    La disponibilité des produits

    Plateformes prises en charge

    Renvoie : L'échelle lance : IOException - S'il y a des problèmes d'interopérabilité. AutomationException - Si le composant ArcObject lève une exception.


    26 Réponses 26

    Ce bogue existe toujours pour un système Xubuntu 16.04 utilisant lightdm. Un correctif pour Xubuntu, et éventuellement d'autres DE, comme décrit dans la publication de la version Xubuntu 16.04 consiste à ramener le curseur avec Ctrl + Alt + F1 suivi de Ctrl + Alt + F7 .

    Cela a fonctionné pour moi, où aucune des autres solutions n'avait sans tout recharger et fermer chaque page.

    J'ai le même problème après la mise à niveau vers 15.04 à partir de 14.10. Parfois, le pointeur de la souris apparaît, cela se produit environ 1 fois sur 5 pour l'allumage de l'ordinateur. J'ai trouvé un moyen de contourner cela comme suggéré ci-dessus.

    (remarque : cela tuera durement tous les processus en cours d'exécution).

    redémarrage du service sudo lightdm

    Celui-ci doit être émis après chaque démarrage. Quelqu'un connaît-il une solution à plus long terme ?

    J'ai maintenant trouvé une solution à long terme. Passez à gdm à la place.

    après avoir essayé plusieurs redémarrages, ce correctif semble fonctionner à chaque fois.

    Je ne sais pas si lightdm donne des avantages par rapport à gdm , mais pour moi, voir le curseur est un gros avantage de GDM par rapport à lightdm.


    Polygone trouvé avec le curseur de recherche, mais pas le curseur de mise à jour - Systèmes d'information géographique

    L'application peut également montrer l'habitat potentiel de la plante, extrapolé à partir d'observations individuelles, soit par bassin versant, soit par modèle climatique.

    Observations
    Cochez pour afficher les observations dans la zone actuelle de la carte. Cela représente la portée réelle connue de la plante. Si vous effectuez un zoom arrière ou déplacez la carte, appuyez sur Mettre à jour pour réafficher les observations dans la zone de la carte.

    Lorsque vous cliquez sur un point d'observation , une fenêtre d'informations apparaît montrant un résumé de l'observation, avec un lien pour voir les détails complets de l'enregistrement.

    par Bassin versant
    Lorsque l'application apparaît pour la première fois, elle met en évidence les bassins versants (bassins versants de super planification CalWater) où la plante a été vue.

    S'il y a au moins deux observations dans le bassin versant, elles sont surlignées en jaune. S'il y a une seule observation dans le bassin versant, elle est surlignée en orange.

      L'aire de répartition est une limite géographique. L'habitat potentiel est constitué d'éléments biotiques et abiotiques de cette aire de répartition qui se combinent pour rendre certains endroits accueillants pour une espèce, même si tout l'habitat apparemment convenable n'est pas occupé. Nous ne savons généralement pas pourquoi il n'est pas occupé. Il se peut que notre compréhension de l'habitat convenable manque un élément critique. Il pourrait s'agir d'un échec de la dispersion. Il pourrait s'agir d'une extirpation locale. Tout ce que nous savons avec certitude, c'est que l'habitat est convenable si la plante y est présente et y survit. (JK)
    1. Une grille de 30 cellules minutes d'arc. Il faut 599 114 de ces cellules pour couvrir la masse terrestre de la Californie, y compris les îles.

    Les deux méthodes impliquent une extrapolation de l'endroit où la plante pourrait provenir de l'endroit où la plante est connue. Dans certaines situations, la méthode du bassin versant donne la meilleure suggestion d'habitat potentiel dans d'autres situations, la méthode du modèle climatique donne la meilleure suggestion.

    • utiliser le navigateur pour marquer l'URL
    • copier l'URL et l'envoyer par e-mail à quelqu'un ou
    • utilisez le bouton de retour du navigateur plus tard pour revenir à cet état.

    PROFIL DE L'EMPLACEMENT
    Cochez cette case pour voir les facteurs d'altitude, de climat et de sol à l'emplacement actuel du curseur de la carte .

    Qu'est-ce qui pousse ici ?
    Cliquez sur ce lien pour afficher l'application What Grows Here à cet endroit pour voir quelles autres plantes poussent à proximité.

    Recherche d'observations
    Cliquez sur ce lien pour afficher l'application de recherche d'observations pour voir toutes les observations à proximité de la plante.

    Des données de polygone sont disponibles pour certaines plantes. Si des données sont disponibles, une case à cocher apparaît. Cochez cette case et les formes disponibles seront dessinées sur la carte. Les formes apparaissent comme indiqué sur la droite. Notez que la plupart des polygones sont minuscules, vous devez donc effectuer un zoom avant pour les voir. Basculez la carte sur Satellite pour zoomer de très près.

    Cytisus scoparius (genêt à balais)
    Corte Madera
    District des espaces ouverts du comté de Marin

    Cytisus scoparius (genêt à balais)
    à l'ouest du lac Whiskeytown
    Équipe de gestion des plantes exotiques du National Park Service

    Ailanthus altissima (arbre du ciel)
    Jackson
    Département de l'agriculture du comté d'Amador

    Carthamus lanatus (chardon laineux)
    à l'est d'Oléma
    District des espaces ouverts du comté de Marin NOTES DE VERSION

    • Décembre 2020 : le PROFIL DE LOCALISATION v. 2.32 est désormais inclus dans le menu OUTILS.

    • Novembre 2020 : v. 2.30 Pour les plantes non indigènes, s'il existe plusieurs bassins versants de super planification dans la même zone hydrologique qui ont des observations de la plante, alors tous les bassins versants de super planification dans cette zone hydrologique sont considérés comme étant habitat potentiel et de couleur orange.

    • Novembre 2017 : v. 2.02 Bassins versants : le habitat potentiel se différencie de la gamme confirmée par couleur de surbrillance.