POST
|
Muchas gracias Xander. tendré muy presente tu sugerencia en escribir en el foro en español o hacerlo en inglés, que es lo mejor. He leído el post y la info que incluyes, y entiendo que para ejecutar scripts de python desde tareas la solución es hacerlo como administrador. Es correcto?
... View more
11-17-2013
11:33 PM
|
0
|
0
|
395
|
POST
|
Hola, hemos implementado un proceso en python el cual queremos ejecutar como tarea programada, tal y como se ejecutaría desde la consola. > C:\Python27\ArcGIS10.1\python.exe c:\temp\test.py Si la tarea la ejecuta un usuario perfil administrador no hay ningún problema. Pero si la ejecuta un usuario que no tenga este perfil da error, en realidad mata el proceso python, concretamente al lanzar la siguiente instrucción import arcpy Alguien puede darnos alguna pista sobre el problema. En principio se nos ocurre: -- Problemas de permisos Windows -- Problemas con las licencias. pero desconocemos como solucionarlo Muchas Gracias de antemano
... View more
11-14-2013
06:13 AM
|
0
|
3
|
1199
|
POST
|
Idonahue Thank you, you helped me a lot. In the end I managed to get the information required of layer 1. ILayerDescription.getDefinitionExpression () to get the layer DefinitionQuery 2. IMapLayerInfo.getFields () gives me all the fields of the layer visible if I compare with the featureClass.getFields () can identify the fields are visible and not visible.
... View more
09-05-2013
12:14 AM
|
0
|
0
|
448
|
POST
|
I have a big problem. Is there any way to know if they are visible or not the fields in a layer? and if it has defined a QueryDefinition?
... View more
09-03-2013
06:43 AM
|
0
|
0
|
448
|
POST
|
Thanks for the reply ldonahue. I'm working with version 10.1. But if you can not access the IMap within a SOE, neither can access the published FeatureLayer in service?
... View more
09-03-2013
06:15 AM
|
0
|
0
|
448
|
POST
|
I have a problem with the following line of code, I use a SOE.
public static IMap getMyMap(IServerObjectHelper serverObject) throws IOException{
IMapServer2 mapServer_2 = (IMapServer2) serverObject.getServerObject();
IMapServerObjects2 serverObjs_2 = (IMapServerObjects2) mapServer_2;
IMap map = serverObjs_2.getMap(mapServer_2.getDefaultMapName());
return map;
}
when I run it, I get the following error.
AutomationException: No such interface supported
Can anyone help?, What am I doing wrong? Thank you.
... View more
09-03-2013
04:16 AM
|
0
|
7
|
994
|
POST
|
Hola, estoy desarrollando un servicio Soe y estoy teniendo problemas a la hora de obtener el FeatureLayer. en principio para obtener el FeatureClass todo ha ido bien con el siguiente código: [HTML] IMapServer3 mapServer = (IMapServer3) serverObject.getServerObject(); IMapServerDataAccess dataAccess = (IMapServerDataAccess)mapServer; String mapName = mapServer.getDefaultMapName(); FeatureClass featureClass = new FeatureClass(dataAccess.getDataSource(mapName, layerId)); [/HTML] pero con el FeatureLayer no hay manera. Alguien podría echarme una mano.
... View more
07-22-2013
04:01 AM
|
0
|
0
|
1171
|
POST
|
Perfecto, mucho más óptimo y evito el problema con el saveACopy. haciéndolo de esta forma no me da el error. Por dejar constancia, creo que el problema podría derivar de la conexión SDE, ya que realizando los mismo cambios teniendo como destino una base de datos GDB no me daba ningun problema. Lo único que me queda es saber obtener de manera dinámica el type_workspace de origen, he visto el método arcpy.Describe(old_workspace), pero no me da la información que requiero. Por lo que he visto no me queda otra opción que tratar las extensiones de fichero: [HTML] TYPE_ACCESS_WORKSPACE = 'ACCESS_WORKSPACE' # �?? A personal geodatabase or Access workspace TYPE_FILEGDB_WORKSPACE = 'FILEGDB_WORKSPACE' # �??A file geodatabase workspace TYPE_SDE_WORKSPACE = 'SDE_WORKSPACE' #�??An SDE geodatabase workspace TYPE_SHAPEFILE_WORKSPACE = 'SHAPEFILE_WORKSPACE' #�??A shapefile workspace def type_workspace(self, path_workspace): ext = path_workspace.split(".")[-1].upper() type_workspace = None if (ext == 'MDB'): type_workspace = self.TYPE_ACCESS_WORKSPACE elif (ext == 'GDB'): type_workspace = self.TYPE_FILEGDB_WORKSPACE elif (ext == 'SDE'): type_workspace = self.TYPE_SDE_WORKSPACE elif (ext == 'SHP'): type_workspace = self.TYPE_SHAPEFILE_WORKSPACE return type_workspace [/HTML]
... View more
07-08-2013
01:03 AM
|
0
|
0
|
284
|
POST
|
Atacho fichero con el código, ya que no soy capaz de que salgan las tabulaciones en el foro. Empiezo a pensar que el problema está en mi máquina, algún problema con la instalación o con mi versión de python, ya que no he visto que haya ningún caso parecido. se os ocurre algo que pueda mirar y que pueda afectar?.
... View more
07-05-2013
05:48 AM
|
0
|
0
|
284
|
POST
|
Hola de nuevo os paso el código con los tabuladores. -------------------------------------- import arcpy def change_layers(self, path_mxd): arcpy.env.overwriteOutput = True conex_sde = self.gst_entorno.get_path_file_sde() mxd = self.map_document(path_mxd) for df in arcpy.mapping.ListDataFrames(mxd): mxd.activeView = df.name self.__manage_layers(mxd, df, conex_sde) del df mxd.saveACopy(r'c:\temp\sde_mxd.mxd') del mxd def __manage_layers(self, mxd, df, conex_sde): lyrs = arcpy.mapping.ListLayers(mxd, '', df) for i in range (0, len(lyrs)): i_ly = lyrs i_ly_name = i_ly.name if i_ly.isFeatureLayer: self.__change_feature(i_ly, conex_sde) del i_ly del lyrs return True def __change_feature(self, ly_feature, conex_sde): table_name = ly_feature.datasetName ly_feature.replaceDataSource(conex_sde, "SDE_WORKSPACE", table_name, False) return True ----------------------- empiezo a pensar que puede ser algo muy concreto de mi instalación, máquina, versión de fichero, porque no encuentro otra explicación para este problema. Si que os diré que el origen de estos ficheros son de la 9.3. y estoy trabajando con una 10.1. Pero ya os adelanto que previamente los he guardado como 10.1. para evitar posibles problemas...
... View more
07-05-2013
05:41 AM
|
0
|
0
|
284
|
POST
|
Hola, tengo un para de problemas en un código que estoy realizando. Resulta que quiero realizar el cambio de todas las capas de un mxd que está apuntando a una base de datos local por una conexión sde. El código lo he simplificado pero quedaría algo así: def change_layers(self, path_mxd): arcpy.env.overwriteOutput = True conex_sde = self.gst_entorno.get_path_file_sde() mxd = self.map_document(path_mxd) for df in arcpy.mapping.ListDataFrames(mxd): mxd.activeView = df.name self.__manage_layers(mxd, df, conex_sde) del df mxd.saveACopy(r'c:\temp\sde_mxd.mxd') def __manage_layers(self, mxd, df, conex_sde): lyrs = arcpy.mapping.ListLayers(mxd, '', df) for i in range (0, len(lyrs)): i_ly = lyrs i_ly_name = i_ly.name if i_ly.isFeatureLayer: self.__change_feature(i_ly, conex_sde) del i_ly del lyrs return True def __change_feature(self, ly_feature, conex_sde): table_name = ly_feature.datasetName ly_feature.replaceDataSource(conex_sde, "SDE_WORKSPACE", table_name, False) return True tengo dos problemas. 1) al realizar el saveACopy, cuando el número de capas a cambiar es alto me da un error: MapDocObject: Unable to save. Check to make sure you have write access to the specified file and that there is enough space on the storage device to hold your document. Tengo la sensación que no acaba de realizar el copy del mxd cuando intenta ponerse en escritura sobre el mismo, dando el error que indico, que es el mismo que si tuviera el mxd abierto y lo intentase modificar. 2) Al realizar el replaceDataSource tarda bastante, y si el número de capas es alto, algo que puede ser habitual, el coste en tiempo es muy algo. Se os ocurre alguna forma para poder optimizarlo? Gracias por adelantado.
... View more
07-03-2013
12:23 AM
|
0
|
5
|
848
|
POST
|
Muchísimas gracias, me ha servido de mucha ayuda. en la vida hubiera encontrado el problema si no es por tí. Ahora tengo que gestionarlo de la mejor manera posible, he visto en las primeras prueba que cambiando el formato aumenta bastante el tamaño y eso no nos interesa. Veremos cual es la mejor forma de poder gestionarlo, se me ocurre copiar el fichero directamente con shutil.copyfile(src, dst), el problema son los posibles ficheros que guardan la información de la georeferenciación.
... View more
07-02-2013
08:45 AM
|
0
|
0
|
368
|
POST
|
Hola, gracias a tu comentario creo que he descubierto que el problema, y está en el tipo de fichero, en este caso (ecw). Esta instrucción funciona correctamente pero a veces da error echándote de la sesión de python: arcpy.Copy_management(r'C:\temp\pruebas_python\origen\WG96 Henares.ecw', r'C:\temp\pruebas_python\destino\WG96 Henares.ecw') <Result 'C:\\temp\\pruebas_python\\destino\\WG96 Henares.ecw'> Por otro lado he intentado probar arcpy.CopyRaster_management(r'C:\tmp\gis_agua\muestra\raster\rasters\Lorca_18\WG96 Henares.ecw', r'C:\tmp\gis_agua\muestra\raster\rasters\WG96 Henares.ecw') Traceback (most recent call last): File "<console>", line 1, in <module> File "C:\Program Files\ArcGIS\Desktop10.1\arcpy\arcpy\management.py", line 11034, in CopyRaster raise e ExecuteError: Failed to execute. Parameters are not valid. ERROR 000445: Extension is invalid for the output raster format. Failed to execute (CopyRaster). cuando ejecut el CopyRaster con otros formatos de fichero, por ejemplo png ha funcionado perfectamente. arcpy.CopyRaster_management(r'C:\temp\pruebas_python\origen\foto.png', r'C:\temp\pruebas_python\destino\foto.png') <Result 'C:\\temp\\pruebas_python\\destino\\foto.png'> Lo raro es que en ArcMap 10.1. no da ningún problema poder trabajar con ficheros '.ecw'. Se te ocurre que podríamos hacer para solucionar el problema?, con este tipo de raster se trabaja habitualmente. Gracias por el interés.
... View more
07-02-2013
07:58 AM
|
0
|
0
|
368
|
POST
|
Estoy ejecutando una copia de un raster, el cual tiene ficheros que informan de la georeferenciación del mismo. He visto que por medio de la instrucción arcpy.Copy_management(<path_origen>, <path_destino>) copia todos los ficheros que componen el raster, desde la imagen hasta los ficheros auxiliares que requieren para georeferenciarlo. Pero en ocasiones me da error sin dejar rastro, da error el mismo python y no se a que debe verse. Os habéis encontrado alguna situación semejante?, y en tal caso, como lo habéis solucionado. se os ocurre alguna forma mejor de realizar la copia?, pensar que es de una carpeta a otra, nada que ver con incluirlo en base de dato
... View more
07-02-2013
04:44 AM
|
0
|
5
|
747
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|