0 votos
858 vistas

Algún conocedor de arcgis nivel avanzado sobre todo en python fiel calculator, tengo dos consulta:  1 era. deseo colocar números correlativos (vértices) considerando el nombre osea que en cada nombre se reinicie el número desde 1, lo isé manualmente, con python, pero me gustaría que se aplique a todos los nombres, y son bastantes.


2 consulta, es una polilinea deseo generar transecto en el campo de vértice o en un columna adicional colocar : 1-2, 2-3, 3-4, y así sucesivamente x cada nombre y se reinicies en cada nombre diferente ya que son polilineas diferentes. Gracias x su respuestaimage

por Confiable (256 puntos)   en ArcGIS Desktop | 858 vistas

1 Respuesta

0 votos
Para ambas consultas, puedes utilizar Python en el Field Calculator de ArcMap. A continuación, te proporciono soluciones para cada una:

1. Números Correlativos:
   Puedes utilizar un diccionario para llevar un registro de la numeración correlativa para cada nombre.

   En el Field Calculator, selecciona Python como el parser y haz clic en "Show Codeblock".

   En el Codeblock, escribe:

   recs = {}
   def uniqueID(name):
       if name in recs:
           recs[name] += 1
       else:
           recs[name] = 1
       return recs[name]

   En el campo de expresión, escribe:

   uniqueID(!NombreDelCampo!)

2. Transectos para Polilíneas:
   De manera similar, puedes usar un diccionario para llevar un registro de los transectos para cada nombre.

   En el Codeblock, escribe:

   recs = {}
   def transect(name):
       if name in recs:
           recs[name] += 1
       else:
           recs[name] = 1
       return "{}-{}".format(recs[name], recs[name] + 1)

   En el campo de expresión, escribe:

   transect(!NombreDelCampo!)
por Administrador (7.9k puntos)  
Mapa de Profesionales SIG

Un buen usuario

  1. Comparte lo que sabe
  2. Demuestra su amabilidad
  3. Hace preguntas claras
  4. Escribe correctamente
  5. No hace daño a nadie
1,439 preguntas
1,585 respuestas
976 comentarios
1,269 usuarios