Esta es la tercera parte de una serie de cuatro sobre los desafíos de nombrar nuevas funciones en aplicaciones de software; particularmente, las consecuencias cuando el nombre no es adecuado. La primera parte de la serie <\/A>analiza un caso en el que el nombre de una nueva función describe clara y sucintamente el comportamiento de esa función. La segunda parte de la serie<\/A> examina ese mismo caso cuando una funcionalidad más reciente altera el comportamiento original de esa nueva funcionalidad. La tercera parte de la serie<\/STRONG> analiza cómo ha cambiado la documentación para abordar esta funcionalidad alterada. Y finalmente, la cuarta parte de la serie <\/A>discute lo que todo esto significa para los usuarios finales y desarrolladores.<\/EM><\/P><\/P>La primera parte de esta serie (Qué hay en un nombre: Cuando in_memory = In-memory<\/A>) analizó la introducción del espacio de trabajo in-memory y generó algunos ejemplos básicos para probarlo. Básicamente, funcionó y la nueva función in_memory significaba in-memory. La segunda parte de esta serie (Qué hay en un nombre: Cuando in_memory != In-memory<\/A>) examina esos mismos ejemplos y ve cómo resultan después de la introducción de ArcPy y Background Processing. Honestamente, es difícil decir cómo resultaron esos ejemplos. La forma educada de decirlo podría ser "resultados mixtos." Aunque hubo casos donde in_memory parecía ser in-memory, también hubo casos donde in_memory parecía estar en disco. Incluso cuando in_memory parecía ser in-memory, hubo algunos comportamientos extraños con algunas de las herramientas\funciones.<\/P><\/P>Para tener una mejor idea de lo que podría estar pasando, necesito mirar un poco la documentación de soporte, y el manual en línea es tan buen lugar como cualquier otro para comenzar. Dado que los comportamientos que vimos en la segunda parte de esta serie comienzan con ArcGIS 10.0 y persisten hasta ArcGIS 10.2.2, simplemente saltaré al manual de ArcGIS 10.2.2 con la suposición de que lo último y mejor respecto a los espacios de trabajo in-memory y Background Processing debería estar documentado allí. Visitar ArcGIS Resources <\/A>me lleva con un clic a la Ayuda para la última versión de ArcGIS. Un poco de exploración me lleva a encontrar la URL persistente para la Ayuda ArcGIS 10.2\10.2.1\10.2.2<\/A>. Buscar 'in_memory' da un enlace a Ayuda ArcGIS 10.2 - Uso del espacio de trabajo in-memory<\/A>, que parece un buen lugar para comenzar. La página es demasiado larga y tiene demasiadas cosas para decir como para poner capturas, pero pegaré algunos extractos importantes a continuación.<\/P><\/P>ArcGIS proporciona un espacio de trabajo in-memory donde se pueden escribir clases de entidades y tablas de salida. Escribir resultados de geoprocesamiento en el espacio de trabajo in-memory es una alternativa a escribir resultados en una ubicación en disco o en una ubicación en red. Escribir datos en el espacio de trabajo in-memory suele ser significativamente más rápido que escribir en otros formatos como shapefile o clase de entidad geodatabase. Sin embargo, los datos escritos en el espacio de trabajo in-memory son temporales y se eliminarán cuando se cierre la aplicación.Para escribir en el espacio de trabajo in_memory, use la ruta in_memory, como se ilustra a continuación.<\/SPAN><\/LI>Cuando se escriben datos en el espacio de trabajo in_memory, se consume la memoria física (RAM) del equipo.<\/SPAN><\/LI><\/UL><\/P>La herramienta Delete<\/A> puede usarse para eliminar datos en el espacio de trabajo in_memory. Se pueden eliminar tablas individuales o clases de entidad, o se puede eliminar todo el espacio de trabajo para borrar todo su contenido.<\/SPAN><\/LI>Una tabla, clase de entidad o ráster escrito al espacio de trabajo in_memory tendrá como ubicación fuente GPInMemoryWorkspace.<\/SPAN><\/LI>También puede usar el espacio de trabajo in_memory en Python, así mismo,
<\/P>
La primera parte de esta serie (
Para tener una mejor idea de lo que podría estar pasando, necesito mirar un poco la documentación de soporte, y el manual en línea es tan buen lugar como cualquier otro para comenzar. Dado que los comportamientos que vimos en la segunda parte de esta serie comienzan con ArcGIS 10.0 y persisten hasta ArcGIS 10.2.2, simplemente saltaré al manual de ArcGIS 10.2.2 con la suposición de que lo último y mejor respecto a los espacios de trabajo in-memory y Background Processing debería estar documentado allí. Visitar
El manual establece claramente que los espacios de trabajo in-memory son justamente eso, están en la memoria física del equipo, y que se accede al espacio usando in_memory. También indica que la ruta in_memory está soportada en herramientas y Python. Además, indica que los espacios in-memory tienen una ubicación fuente llamada GPInMemoryWorkspace. Finalmente, indica que la herramienta Delete puede usarse para eliminar tablas individuales o clases desde el espacio in_memory.Todo lo cubierto en la página <\/LI><\/UL><\/P>Aunque esto no menciona directamente los espacios de trabajo in-memory, sí insinúa que el Procesamiento en Segundo Plano puede o altera cómo funciona cierto código en ArcGIS Desktop. Dudoso, lo sé, pero realmente no hay mucho más que pueda encontrar en el manual.<\/P><\/P>Quizás la documentación esté completa y solo haya un error que está causando todas las discrepancias que vimos en la segunda parte de esta serie. Desafortunadamente, buscar en los errores publicados por 'in_memory' y 'in-memory' no arroja mucho, 4 resultados, y definitivamente nada que explique lo que hemos visto.<\/P><\/P>Vamos a ir a los foros para ver si alguien ha planteado esta pregunta antes. Curiosamente, alguien ha hecho básicamente la misma pregunta, y hace más de 2 años: Parece que "in_memory" no está realmente en memoria<\/A>. Básicamente hubo dos respuestas en el hilo del foro, y ninguna parece ser directamente del personal de Esri.<\/P><\/P>La primera respuesta es un poco incompleta porque realmente no dice si la afirmación se aplica al procesamiento en primer plano o en segundo plano, o a ambos. Dado que el autor original no dijo si el Procesamiento en Segundo Plano estaba habilitado o no, voy a asumir que se están usando los ajustes predeterminados, lo que significa procesamiento en segundo plano. Hice una comprobación rápida usando la herramienta Mosaic to New Raster con el Procesamiento en Segundo Plano activado y desactivado. Con el Procesamiento en Segundo Plano desactivado, el ráster in_memory consumió aproximadamente 400 MB de RAM. Con el Procesamiento en Segundo Plano activado, el ráster in_memory consumió alrededor de 120 MB. Puede haber algún mapeo de memoria cuando el Procesamiento en Segundo Plano está habilitado, pero seguramente no está cargando todo a la RAM y solo manteniendo una referencia en disco.<\/P><\/P>La segunda respuesta tiene sentido, pero no es completamente precisa porque podemos encontrar herramientas donde in_memory todavía significa in-memory incluso cuando el Procesamiento en Segundo Plano está habilitado. CreateFeatureclass podría funcionar como indica la respuesta, pero CopyFeatures definitivamente no. Entonces, ¿cómo sabemos qué herramientas funcionan de qué manera?<\/P><\/P>No solo cambiaron los espacios de trabajo in-memory en ArcGIS 10.0, sino que parece que la documentación online de Esri realmente no aborda ninguno de los cambios en el comportamiento. Es hora de dar un paso atrás y pensar qué significa todo esto para los usuarios finales y desarrolladores que intentan usar el software.<\/P><\/BODY><\/HTML>
Aunque esto no menciona directamente los espacios de trabajo in-memory, sí insinúa que el Procesamiento en Segundo Plano puede o altera cómo funciona cierto código en ArcGIS Desktop. Dudoso, lo sé, pero realmente no hay mucho más que pueda encontrar en el manual.<\/P>
Quizás la documentación esté completa y solo haya un error que está causando todas las discrepancias que vimos en la segunda parte de esta serie. Desafortunadamente, buscar en los errores publicados por 'in_memory' y 'in-memory' no arroja mucho, 4 resultados, y definitivamente nada que explique lo que hemos visto.<\/P>
Vamos a ir a los foros para ver si alguien ha planteado esta pregunta antes. Curiosamente, alguien ha hecho básicamente la misma pregunta, y hace más de 2 años:
La primera respuesta es un poco incompleta porque realmente no dice si la afirmación se aplica al procesamiento en primer plano o en segundo plano, o a ambos. Dado que el autor original no dijo si el Procesamiento en Segundo Plano estaba habilitado o no, voy a asumir que se están usando los ajustes predeterminados, lo que significa procesamiento en segundo plano. Hice una comprobación rápida usando la herramienta Mosaic to New Raster con el Procesamiento en Segundo Plano activado y desactivado. Con el Procesamiento en Segundo Plano desactivado, el ráster in_memory consumió aproximadamente 400 MB de RAM. Con el Procesamiento en Segundo Plano activado, el ráster in_memory consumió alrededor de 120 MB. Puede haber algún mapeo de memoria cuando el Procesamiento en Segundo Plano está habilitado, pero seguramente no está cargando todo a la RAM y solo manteniendo una referencia en disco.<\/P>
La segunda respuesta tiene sentido, pero no es completamente precisa porque podemos encontrar herramientas donde in_memory todavía significa in-memory incluso cuando el Procesamiento en Segundo Plano está habilitado. CreateFeatureclass podría funcionar como indica la respuesta, pero CopyFeatures definitivamente no. Entonces, ¿cómo sabemos qué herramientas funcionan de qué manera?<\/P>
No solo cambiaron los espacios de trabajo in-memory en ArcGIS 10.0, sino que parece que la documentación online de Esri realmente no aborda ninguno de los cambios en el comportamiento. Es hora de dar un paso atrás y pensar qué significa todo esto para los usuarios finales y desarrolladores que intentan usar el software.<\/P><\/BODY><\/HTML>
I have heard back from Esri Support and Esri Development. I will restrict comments on the first three parts in the series and post final comments with part four of the series: What's in a Name: When Known = Unknown .
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.