É possível calcular os pontos das coordenadas XY em graus decimais no modelo ou script quando uma classe de feição está no sistema de coordenadas projetado?
É fácil quando um FC está no sistema de coordenadas geográficas:
- usando a ferramenta Adicionar coordenadas XY ou
- usando a expressão Python, por exemplo.
!shape.extent.XMax!
Descobri que as propriedades de área e comprimento do campo geometria podem ser modificadas com a palavra-chave de conversão de unidade geométrica. Para unidades lineares de medida, pode-se usar @DECIMALDEGREES.
Infelizmente, !shape.extent.XMax@decimaldegrees!
não funciona, pois o XMax não é um comprimento.
Na função Calcular Geometria (acessada a partir do botão direito), existe a possibilidade de escolher o tipo de saída Graus Decimais, mesmo para a classe de recurso projetada.
Posso fazer isso usando o ArcPy?
Aqui está um trecho de código baseado na solução da iRfAn:
import arcpy, os
projectedFC = r"C:\tmp\test.gdb\points01_Projected"
prjFile = os.path.join(arcpy.GetInstallInfo()["InstallDir"],
r"Coordinate Systems\Geographic Coordinate Systems\World\WGS 1984.prj")
spatialRef = arcpy.SpatialReference(prjFile)
updCursor = arcpy.UpdateCursor(projectedFC,"", spatialRef)
for row in updCursor:
pnt = row.Shape.getPart(0)
row.X = pnt.X
row.Y = pnt.Y
updCursor.updateRow(row)
del updCursor, row