¿Qué módulo de arcpy puedo utilizar para escribir un script en python que busque los campos de las propiedades de mi servicio de mapas y los exporte a un archivo .tx? Supongo que tenemos que aprovechar los servidores GIS dentro de la interfaz ArcCatalog?
Respuesta
¿Demasiados anuncios?Código rápido y sucio... sustituye el "print" por algún código para escribir en un archivo de texto si eso es lo que quieres. Usted notará su hardcoded a una capa específica en un servicio de mapa. Usted puede mejorar el bucle a través de todas las capas, o incluso bucle a través de todos los servicios en un servidor a continuación, todas las capas, a continuación, obtener los campos.
import urllib, urllib2, json
def getServiceFields(URL):
fURL = URL + "?f=json"
openURL = urllib2.urlopen(fURL, '').read()
outJson = json.loads(openURL)
return outJson["fields"]
if __name__ == "__main__":
URL = r"http://sampleserver6.arcgisonline.com/arcgis/rest/services/Water_Network/MapServer/11"
fields = getServiceFields(URL)
for f in fields:
print "Name : {}, Type : {}".format(f["name"], f["type"])
También como referencia, esto es lo que puedes conseguir con "f":
f["alias"]
f["longitud"]
f["tipo"]
f["nombre"]
f["dominio"]
(por un servidor 10.1, puede cambiar para 10.0)