Étiqueter des points à intervalles réguliers à l'aide d'ArcGIS for Desktop?

9

Je travaille avec des lignes sur des routes représentées par un grand nombre de points séquentiels. Étant donné que tous les étiqueter rendrait les points impossibles à identifier, j'aimerais savoir s'il existe un moyen de les étiqueter dans un intervalle de 25.

J'ai essayé une requête SQL pour afficher quoi que ce soit se terminant par 25 mais aucun enregistrement n'a été retourné.

diegomatias
la source
La requête SQL utilisée par @ artwork21 a fonctionné pour moi: MOD ("FID", 25) = 0, où FID est le champ stockant les valeurs numériques de vos points, c'est-à-dire les bornes kilométriques.
Anna Riling
Cela ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire sous son article - vous pouvez toujours commenter vos propres articles, et une fois que vous aurez une réputation suffisante, vous pourrez commenter n'importe quel article . - De l'avis
jbchurchill

Réponses:

2

Je crois que l'utilisation d'un tampon d'étiquettes dans ArcGIS accomplirait cela. Je n'ai pas ArcMap devant moi en ce moment, mais si vous entrez dans les propriétés de votre couche de points, l'onglet d'étiquetage devrait vous permettre de trouver des options pour cela. - n'autorisez pas les étiquettes qui se chevauchent - définissez le tampon sur 25 unités (puis ajustez le tampon selon vos besoins)

Plus d'informations sur l'aide ESRI: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003s00000040000000.htm

Une autre option consiste à ajouter un champ à votre classe d'entités ponctuelles que vous pouvez utiliser pour interroger à des fins d'étiquetage ... par exemple, appelez le champ LABELS puis marquez TRUE ou FALSE. Marquez chaque 25ème point comme VRAI. Vous pouvez alors choisir de définir des groupes d'étiquettes et d'activer uniquement les étiquettes pour LABELS = TRUE.

Paul
la source
Paul, merci d'avoir répondu. J'ai suivi les étapes que vous avez écrites et les étiquettes se sont réunies, mais avec des espaces entre les groupes d'étiquettes. La seule valeur tampon que j'ai obtenue comme je m'attendais à ce qu'elle soit '2', ce qui les a configurés pour être affichés dans le même intervalle (1001 ... 1003 ... 1005). Voici un instantané de l'écran lorsque la valeur du tampon a été définie sur 25: IMAGE
diegomatias
À partir de votre capture d'écran, il semble que vos unités soient en mètres et votre carte est dézoomée à une échelle assez petite, vous devrez donc peut-être augmenter la taille de la mémoire tampon.
Paul
L'échelle de la carte sera de 1: 200 000 et 1: 500 000. J'ai mis le tampon à 50, puis 75 et 100 (le programme ne permet pas de valeurs plus élevées). Les étiquettes sont regroupées de la même manière qu'auparavant et cela varie avec l'échelle de zoom. Avec l'échelle "zoomer sur le calque", les étiquettes n'apparaissent même pas et tout ce que j'obtiens est le message d'erreur: "L'index transmis n'était pas dans la plage valide." Je vais continuer à essayer. Merci du coup de main jusqu'à présent.
diegomatias
2

L'extension Maplex est un bon outil pour étiqueter dans des endroits restreints si vous y avez accès. Voici deux solutions possibles.

Leaderline

Chargez la barre d'outils d'étiquetage dans ArcMap (Maplex) et activez-la sur l'option MEILLEURE. Accédez à l'onglet Propriétés> Étiquetage de votre couche de points et cliquez sur le bouton Symbole. Sélectionnez l'option en bas qui a la ligne de repère ("Bullet Leader"). Ensuite, sélectionnez le bouton Propriétés dans la boîte de dialogue Sélecteur de symboles. Sélectionnez ensuite l'onglet Texte avancé> bouton Propriétés et affectez la tolérance de ligne de repère à au moins 15. Sélectionnez le champ que vous souhaitez étiqueter et définissez la police sur une petite taille de police.

Ligne de repère alternée gauche / droite

Cette méthode est un peu plus impliquée. En supposant que vos données étaient collectées de manière quelque peu consécutive / linéaire, vous pouvez étiqueter avec des lignes de repère, mais alterner le leader par les côtés gauche et droit. Tout d'abord, suivez les étapes ci- dessus pour Leaderline . Créez deux classes d'étiquetage (paires et impaires) dans les propriétés des onglets> onglet Étiquetage, pour l'option Méthode, sélectionnez l'option "Définir les classes d'entités et étiqueter chaque classe différemment". Pour la classe Pair, sélectionnez le bouton Requête SQL et collez ce code ( reportez-vous à ce lien pour des exemples de requête SQL de classe d'entités de géodatabase ). Cette instruction SQL concerne les fichiers de formes.

MOD ("FID",  2)  = 0 

Ensuite, dans l'onglet Propriétés de la couche> étiquette, sélectionnez le bouton Propriétés de placement, onglet Position de l'étiquette> bouton Position et sélectionnez l'option "Nord-Est". Enfin, appliquez ces mêmes étapes à la classe "Odd". Mettez à jour la requête SQL pour:

MOD ("FID",  2)  = 1

Et mettez à jour le libellé Position sur "Southwest". Assurez-vous également que l' option "Ne jamais supprimer (autoriser le chevauchement)" est cochée pour les deux classes situées ici, Propriétés de placement> onglet Résolution des conflits. Les lignes de repère devraient alterner maintenant.

Exemple

oeuvre21
la source
Merci pour la réponse @ artwork21. Malheureusement, je travaille avec ArcView et il semble que Maplex est uniquement disponible dans ArcInfo, non?
diegomatias
@diegomatias, je crois que Maplex est une extension séparée. Vous pouvez voir si vous l'avez ou non en allant dans ArcMap, Outils> Extensions. Vous pouvez toujours utiliser ces méthodes si vous n'avez pas Maplex. Maplex placera simplement les étiquettes dans un meilleur emplacement. Je crois que la plupart des instructions sont les mêmes, sauf que "Ne jamais supprimer (autoriser le chevauchement)" est appelé "Placer des étiquettes se chevauchant".
artwork21
Merci angain pour vos réponses, @ artwork21. Mes points sont disposés comme ceux que vous montrez dans l'image. Existe-t-il une requête SQL pour afficher uniquement les nombres divisibles par 25, par exemple?
diegomatias
@diegomatias, utilisez cette requête, MOD ("FID", 25) = 0
artwork21
2

J'ai résolu ce «problème» avec SQL.

Sur l'onglet Étiquette à l'intérieur de la zone Propriétés du calque, j'ai fait comme dans l'image ci-dessous: SQL pour les étiquettes

La seule chose que j'ai dû changer était l'intervalle: au lieu d'afficher des étiquettes sur chaque 25 points, j'ai décidé de montrer sur chaque 50 points.

diegomatias
la source