Más

¿Error de depuración 000278 de las herramientas de anexar y fusionar en ArcGIS Desktop?

¿Error de depuración 000278 de las herramientas de anexar y fusionar en ArcGIS Desktop?


Los problemas de herramientas de anexar y fusionar en Arc 10. siguen obteniendo el error 000278 - falló en la entrada OID… (no se pudo escribir el valor en un campo u otro).

¿Alguien sabe cómo arreglar esto?

Nunca tuve este problema en Arc 9.3, donde si el valor no encajaba, se recortaba.


Tuve un problema similar. la longitud del campo de la clase de entidad objetivo era demasiado pequeña. Creé una nueva clase de entidad en arccatalog con una longitud de campo mayor y luego cargué datos en ella. obtiene el mismo resultado que con fusionar y agregar, pero en una nueva clase de entidad.


Símbolos de carga de Visual Studio

Estoy trabajando en un proyecto de ColdFusion desde hace un tiempo, y Visual Studio comenzó a comportarse de manera extraña al menos para mí.

Observé que cuando comencé a depurar, compiló el proyecto, comenzó la implementación y finalizó la implementación y estaba comenzando a cargar símbolos para mi proyecto.

Pero fue muy lento y no sé por qué comenzó a dar este paso. ¿Qué pude haber hecho?

¿Es necesario este paso de carga de símbolos? ¿Cómo puedo desactivarlo?

En el cuadro de diálogo Herramientas -> Opciones -> Depuración -> Símbolos no se ha agregado la ubicación del archivo de símbolos (.pdb). Y señalé el directorio de depuración de mi proyecto en el campo de abajo, y marqué la casilla de verificación "Buscar en el directorio de arriba sólo cuando los símbolos estén". ¿Cómo debo configurar este cuadro de diálogo para desactivar la carga de símbolos?

Miré en la ventana Módulos qué símbolos están cargados, pero no me dice nada. ¿Cuál es el problema?


Las instalaciones alrededor de las cuales se generan las áreas de servicio.

El conjunto de características de las instalaciones tiene tres atributos:

El campo ID administrado por el sistema.

El campo de geometría que indica la ubicación geográfica del objeto de análisis de red.

El nombre del facilidad. Si el nombre está vacío, en blanco o es nulo, se genera automáticamente un nombre en el momento de la resolución.

Especifica el tamaño y la cantidad de polígonos de área de servicio que se generarán para cada instalación. Las unidades están determinadas por el valor de Unidades de ruptura.

Cuando se ejecuta la herramienta Generar áreas de servicio, se produce una interacción notable entre los siguientes parámetros: Valores de ruptura, Unidades de ruptura y Atributo de tiempo o Atributo de distancia. Juntos, los valores de ruptura y las unidades de ruptura definen qué tan lejos o cuánto debe extenderse el área de servicio alrededor de la instalación o las instalaciones. Los parámetros Atributo de tiempo y Atributo de distancia definen cada uno un atributo de costo de red. Sin embargo, solo se usa uno de estos dos atributos de costo, y el que el solucionador elige usar se corresponde con el valor de Unidades de ruptura, es decir, cuando especifica un valor de Unidad de ruptura basado en el tiempo, como segundos o minutos, la herramienta resuelve utilizando el atributo de costo definido en el parámetro Atributo de tiempo. Cuando especifica un valor de Unidad de ruptura basado en la distancia, como kilómetros o millas, utiliza el atributo de costo definido en el parámetro Atributo de distancia.

Se pueden configurar múltiples rupturas de polígonos para crear áreas de servicio concéntricas por instalación. Por ejemplo, para encontrar áreas de servicio de dos, tres y cinco millas para cada instalación, ingrese 2 3 5, separando los valores con un espacio. Establezca Unidades de ruptura en Millas y asegúrese de haber elegido un atributo de red basado en la distancia para el parámetro Atributo de distancia.

Las unidades para el parámetro Break Values.

  • Metros
  • Kilómetros
  • Pies
  • Yardas
  • Millas
  • Millas náuticas
  • Segundos
  • Minutos
  • Horas
  • Dias

La herramienta Generar áreas de servicio elige si usar el atributo de costo de red especificado en el parámetro Atributo de tiempo o Atributo de distancia dependiendo de si las unidades que especifique aquí se basan en el tiempo o la distancia.

La herramienta realiza la conversión de unidades necesaria cuando el valor de Unidades de ruptura difiere de las unidades del atributo de costo de tiempo o distancia correspondiente.

El conjunto de datos de red en el que se realizará el análisis. Los conjuntos de datos de red suelen representar redes de calles, pero también pueden representar otros tipos de redes de transporte. El conjunto de datos de red necesita al menos un atributo de costo basado en el tiempo y otro basado en la distancia.

El espacio de trabajo de salida y el nombre de las funciones de salida. Este espacio de trabajo ya debe existir. El espacio de trabajo de salida predeterminado es in_memory.

Elija si la dirección de viaje utilizada para generar los polígonos del área de servicio es hacia o lejos de las instalaciones.

  • TRAVEL_FROM: el área de servicio se genera en la dirección que se aleja de las instalaciones.
  • TRAVEL_TO: el área de servicio se crea en dirección a las instalaciones.

La dirección de viaje puede cambiar la forma de los polígonos porque las impedancias en lados opuestos de una calle pueden diferir, o pueden existir calles de un solo sentido. La dirección que debe elegir depende de la naturaleza del análisis de su área de servicio. El área de servicio para una tienda de reparto de pizzas, por ejemplo, debe crearse lejos de la instalación, mientras que el área de servicio de un hospital debe crearse hacia la instalación, ya que el tiempo de viaje crítico para un paciente es viajar al hospital.

  • Representa la hora de salida si la Dirección de viaje está configurada para viajar fuera de las instalaciones.
  • Representa la hora de llegada si la Dirección de viaje está configurada para viajar hacia las instalaciones.

Su conjunto de datos de red debe incluir datos de tráfico para que este parámetro tenga algún efecto.

Resolver repetidamente el mismo análisis, pero utilizando diferentes valores de hora del día, le permite ver cómo cambia el alcance de una instalación con el tiempo. Por ejemplo, el área de servicio de cinco minutos alrededor de una estación de bomberos puede comenzar a ser grande temprano en la mañana, disminuir durante la hora pico de la mañana, crecer a última hora de la mañana, y así sucesivamente a lo largo del día.

La política de cambio de sentido en los cruces. Permitir giros en U implica que el solucionador puede dar la vuelta en un cruce y retroceder en la misma calle. Dado que los cruces representan intersecciones de calles y callejones sin salida, es posible que diferentes vehículos puedan dar la vuelta en algunos cruces pero no en otros; depende de si el cruce representa una intersección o un callejón sin salida. Para adaptarse, el parámetro de política de cambio de sentido se especifica implícitamente por la cantidad de bordes que se conectan a la unión, lo que se conoce como valencia de unión. Los valores aceptables para este parámetro se enumeran a continuación, cada uno va seguido de una descripción de su significado en términos de valencia de unión.

  • ALLOW_UTURNS: se permiten giros en U en los cruces con cualquier número de bordes conectados. Este es el valor predeterminado.
  • NO_UTURNS: los giros en U están prohibidos en todos los cruces, independientemente de la valencia del cruce. Sin embargo, tenga en cuenta que los giros en U todavía están permitidos en las ubicaciones de la red, incluso cuando se elige esta configuración; sin embargo, puede configurar la propiedad CurbApproach de las ubicaciones de red individuales para prohibir los giros en U allí también.
  • ALLOW_DEAD_ENDS_ONLY —Los giros en U están prohibidos en todos los cruces, excepto aquellos que tienen un solo borde adyacente (un callejón sin salida).
  • ALLOW_DEAD_ENDS_AND_INTERSECTIONS_ONLY —Los giros en U están prohibidos en cruces donde exactamente dos bordes adyacentes se encuentran, pero están permitidos en intersecciones (cruces con tres o más bordes adyacentes) y callejones sin salida (cruces con exactamente un borde adyacente). A menudo, las redes tienen cruces extraños en medio de tramos de carretera. Esta opción evita que los vehículos realicen giros en U en estos lugares.

Si necesita una política de virajes en U definida con más precisión, considere agregar un evaluador de retardo de giro global a un atributo de costo de red, o ajustar su configuración si existe, y preste especial atención a la configuración de giros en reversa. Además, observe la configuración de la propiedad CurbApproach de las ubicaciones de su red.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

Especifica barreras puntuales, que se dividen en dos tipos: restricciones y barreras puntuales de coste añadido. Restringen temporalmente el cruce o agregan impedancia a puntos de la red. Las barreras de puntos están definidas por un conjunto de características y los valores de atributo que especifique para las características de puntos determinan si son barreras de restricción o de costo adicional. Los campos de la tabla de atributos se enumeran y describen a continuación.

El campo ID administrado por el sistema.

El campo de geometría que indica la ubicación geográfica del objeto de análisis de red.

  • Restricción (0): prohíbe atravesar la barrera. Este es el valor predeterminado.
  • Costo agregado (2): atravesar la barrera aumenta el costo de la red en la cantidad especificada en los campos Additional_Time y Additional_Distance.

Use el valor 0 para Restricción y 2 para Costo agregado.

AdditionalCost indica cuánta impedancia se agrega cuando un área de servicio pasa a través de la barrera.

La unidad para este valor de campo es la misma que las unidades especificadas para Unidades de ruptura.

Especifica barreras de línea, que restringen temporalmente el cruce a través de ellas. Las barreras de línea están definidas por un conjunto de características. Los campos de la tabla de atributos se enumeran y describen a continuación.

El campo ID administrado por el sistema.

El campo de geometría que indica la ubicación geográfica del objeto de análisis de red.

Especifica barreras poligonales, que se dividen en dos tipos: barreras poligonales de restricción y de costo escalado. Restringen temporalmente la impedancia transversal o de escala en las partes de la red que cubren. Las barreras poligonales se definen mediante un conjunto de características y los valores de atributo que especifique para las características poligonales determinan si son barreras de restricción o de costo escalado. Los campos de la tabla de atributos se enumeran y describen a continuación.

El campo ID administrado por el sistema.

El campo de geometría que indica la ubicación geográfica del objeto de análisis de red.

Especifica si la barrera restringe los viajes por completo o escala el costo de atravesarla. Hay dos opciones:

  • Restricción (0): prohíbe atravesar cualquier parte de la barrera. Este es el valor predeterminado.
  • Costo escalado (1): escala la impedancia de los bordes subyacentes multiplicándolos por el valor de la propiedad ScaledCostFactor. Si los bordes están parcialmente cubiertos por la barrera, la impedancia se distribuye y multiplica.

Utilice el valor 0 para Restricción y 1 para Costo escalado.

ScaledCostFactor indica cuánto se multiplica la impedancia cuando un área de servicio atraviesa la barrera.

Define el atributo de costo de red que se utilizará cuando el valor de Unidades de ruptura es una unidad de tiempo.

La herramienta realiza la conversión de unidad de tiempo necesaria cuando el valor de Unidades de ruptura difiere de las unidades del atributo de costo definido aquí. En otras palabras, las unidades de tiempo de los descansos y el atributo de costo de red no necesitan ser iguales.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

Las unidades del atributo de costo de red especificado por el parámetro Atributo de tiempo. Este es simplemente un parámetro informativo que no se puede cambiar sin editar directamente el conjunto de datos de red. También es innecesario cambiar, ya que las conversiones de unidades entre las unidades de valor de ruptura y el atributo de costo se manejan por usted.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

Define el atributo de costo de red que se utilizará cuando el valor de Unidades de ruptura sea una unidad de distancia.

La herramienta realiza la conversión de unidad de distancia necesaria cuando el valor de Unidades de ruptura difiere de las unidades del atributo de costo definido aquí. En otras palabras, las unidades de distancia de las rupturas y el atributo de costo de red no necesitan ser iguales.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

Las unidades del atributo de costo de red especificado por el parámetro Atributo de distancia. Este es simplemente un parámetro informativo que no se puede cambiar sin editar directamente el conjunto de datos de red. También es innecesario cambiar, ya que las conversiones de unidades entre las unidades de valor de ruptura y el atributo de costo se manejan por usted.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

  • Marcado: utilice el atributo de jerarquía para el análisis. El uso de una jerarquía da como resultado que el solucionador prefiera los bordes de orden superior a los bordes de orden inferior. Las soluciones jerárquicas son más rápidas y se pueden usar para simular la preferencia de un conductor que elige viajar en autopistas sobre carreteras locales cuando sea posible, incluso si eso significa un viaje más largo. Esta opción está habilitada solo si el conjunto de datos de la red de entrada tiene un atributo de jerarquía.
  • Sin marcar: no utilice el atributo de jerarquía para el análisis. No usar una jerarquía produce una ruta exacta para el conjunto de datos de la red.

El parámetro está deshabilitado si no se define un atributo de jerarquía en el conjunto de datos de red utilizado para realizar el análisis.

Puede usar el parámetro Forzar jerarquía más allá de la distancia para forzar al solucionador a usar la jerarquía incluso si Usar jerarquía en análisis está establecido en falso.

Este parámetro se ignora a menos que el Modo de viaje esté configurado como Personalizado. Al modelar un modo de caminar personalizado, se recomienda desactivar la jerarquía, ya que la jerarquía está diseñada para vehículos motorizados.

  • USE_HIERARCHY: use el atributo de jerarquía para el análisis. El uso de una jerarquía da como resultado que el solucionador prefiera los bordes de orden superior a los bordes de orden inferior. Las soluciones jerárquicas son más rápidas y se pueden usar para simular la preferencia de un conductor que elige viajar en autopistas sobre carreteras locales cuando sea posible, incluso si eso significa un viaje más largo. Esta opción es válida solo si el conjunto de datos de la red de entrada tiene un atributo de jerarquía.
  • NO_HIERARCHY: no utilice el atributo de jerarquía para el análisis. No usar una jerarquía produce una ruta exacta para el conjunto de datos de la red.

El parámetro no se utiliza si un atributo de jerarquía no está definido en el conjunto de datos de red utilizado para realizar el análisis. En tales casos, utilice "#" como valor del parámetro.

Puede usar el parámetro Force_Hierarchy_Beyond_Distance para forzar a la resolución a usar la jerarquía incluso si Use_Hierarchy_in_Analysis está establecido en False.

Este parámetro se ignora a menos que Travel_Mode esté establecido en CUSTOM. Al modelar un modo de caminar personalizado, se recomienda desactivar la jerarquía, ya que la jerarquía está diseñada para vehículos motorizados.

Indica qué atributos de restricción de red se respetan durante el tiempo de resolución.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

Especifica los valores de los parámetros para los atributos de red que tienen parámetros. El conjunto de registros tiene dos columnas que funcionan juntas para identificar de forma única los parámetros y otra columna que especifica el valor del parámetro.

El valor de este parámetro se anula cuando el Modo de viaje (Travel_Mode en Python) se establece en cualquier valor que no sea personalizado.

El conjunto de registros de valores de parámetro de atributo tiene atributos asociados. Los campos de la tabla de atributos se enumeran y describen a continuación.

El campo ID administrado por el sistema.

El nombre del atributo de red cuyo parámetro de atributo lo establece la fila de la tabla.

El nombre del parámetro de atributo cuyo valor se establece en la fila de la tabla. (Los parámetros de tipo de objeto no se pueden actualizar con esta herramienta).

El valor que desea para el parámetro de atributo. Si no se especifica un valor, el parámetro de atributo se establece en nulo.

La tolerancia máxima de ajuste es la distancia más lejana que busca Network Analyst al ubicar o reubicar un punto en la red. La búsqueda busca bordes o uniones adecuados y ajusta el punto al más cercano. Si no se encuentra una ubicación adecuada dentro de la tolerancia máxima de ajuste, el objeto se marca como no ubicado.

  • EXCLUIR: las instalaciones solo se encuentran en las partes de la red que se pueden atravesar. Esto evita ubicarlos en elementos a los que no se puede acceder durante el proceso de resolución debido a restricciones o barreras. Tenga en cuenta que las instalaciones pueden estar ubicadas más lejos de su ubicación prevista que si esta opción no estuviera marcada.
  • INCLUYE —Las instalaciones se pueden ubicar en cualquiera de los elementos de la red, sin embargo, las instalaciones que están ubicadas en elementos restringidos no se pueden usar durante el proceso de resolución.

Una expresión SQL utilizada para seleccionar un subconjunto de características de origen que limita en qué elementos de red se pueden ubicar las instalaciones. La sintaxis de este parámetro consta de dos partes: la primera es el nombre de la clase de entidad de origen (seguido de un espacio) y la segunda es la expresión SQL. Para escribir una expresión SQL para dos o más clases de entidad de origen, sepárelas con un punto y coma.

Para asegurarse de que las instalaciones no estén ubicadas en carreteras de acceso limitado, por ejemplo, escriba una expresión SQL como la siguiente para excluir esas características de origen: "Calles" "FUNC_CLASS no en ('1', '2')".

Tenga en cuenta que las barreras ignoran la cláusula WHERE del localizador de características al cargar.

Elija cómo se generan los polígonos de área de servicio cuando hay varias instalaciones presentes en el análisis.

  • NO_MERGE: crea polígonos individuales para cada instalación. Los polígonos pueden superponerse entre sí.
  • NO_OVERLAP: crea polígonos individuales de modo que un polígono de una instalación no puede superponerse a polígonos de otras instalaciones, además, cualquier parte de la red solo puede ser cubierta por el área de servicio de la instalación más cercana.
  • MERGE: crea y une los polígonos de diferentes instalaciones que tienen el mismo valor de ruptura.

Especifica la opción para crear polígonos de área de servicio concéntricos como discos o anillos. Esta opción es aplicable solo cuando se especifican múltiples valores de interrupción para las instalaciones.

  • ANILLOS: no incluye el área de las roturas más pequeñas. Esto crea polígonos que van entre saltos consecutivos. Utilice esta opción si desea encontrar el área de un descanso a otro. Por ejemplo, si crea áreas de servicio de cinco y 10 minutos, el polígono de área de servicio de 10 minutos excluirá el área debajo del polígono de área de servicio de cinco minutos.
  • DISCOS: crea polígonos que van desde la instalación hasta la ruptura. Por ejemplo, si crea áreas de servicio de cinco y 10 minutos, el polígono de área de servicio de 10 minutos incluirá el área debajo del polígono de área de servicio de cinco minutos.

Especifica la opción para crear polígonos detallados o generalizados.

  • SIMPLE_POLYS: crea polígonos generalizados que se generan rápidamente y son bastante precisos. Este es el predeterminado.
  • DETAILED_POLYS: crea polígonos detallados que modelan con precisión las líneas del área de servicio y pueden contener islas de áreas no alcanzadas. Esta opción es mucho más lenta que generar polígonos generalizados. Esta opción no es compatible cuando se usa la jerarquía.

Especifica la distancia dentro de la cual se recortan los polígonos del área de servicio. Esto es útil cuando sus datos son muy escasos y no desea que el área de servicio cubra áreas grandes donde no hay características.

Ningún valor o un valor de 0 para este parámetro especifica que los polígonos del área de servicio no deben recortarse. El valor del parámetro se ignora cuando se usa la jerarquía.

Especifique cuánto desea simplificar la geometría del polígono.

La simplificación mantiene los puntos críticos de un polígono para definir su forma esencial y elimina otros puntos. La distancia de simplificación que especifique es el desplazamiento máximo permitido desde el polígono original desde el que se puede desviar el polígono simplificado. La simplificación de un polígono reduce el número de vértices y tiende a reducir los tiempos de dibujo.

Limita la cantidad de instalaciones que se pueden agregar al análisis del área de servicio.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita la cantidad de interrupciones que se pueden agregar al análisis del área de servicio.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita la cantidad de entidades que pueden verse afectadas por barreras de puntos.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita la cantidad de entidades que pueden verse afectadas por las barreras de línea.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita la cantidad de entidades que pueden verse afectadas por las barreras poligonales.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita qué tan grande puede ser el valor del parámetro Valor de ruptura al resolver áreas de servicio basadas en el tiempo.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Limita qué tan grande puede ser el valor del parámetro Valor de ruptura al resolver áreas de servicio basadas en la distancia.

Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver. Por ejemplo, puede asignar un valor bajo a este parámetro para una versión gratuita del servicio que está creando y usar un valor más alto para una versión de suscripción paga del servicio.

Un valor nulo indica que no hay límite.

Especifica el valor de interrupción después del cual el solucionador forzará la jerarquía incluso si la jerarquía no se habilitó al resolver áreas de servicio basadas en el tiempo.

Resolver áreas de servicio para valores de ruptura altos mientras se usa la jerarquía de la red tiende a incurrir en mucho menos procesamiento que resolver las mismas áreas de servicio sin usar la jerarquía. Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver.

Un valor nulo indica que la jerarquía nunca se aplicará y el valor del parámetro Usar jerarquía en análisis siempre se respetará. Si el conjunto de datos de la red de entrada no admite la jerarquía, la especificación de un valor para este parámetro generará un error. En este caso, debe utilizarse un valor nulo.

Especifica el valor de ruptura después del cual el solucionador forzará la jerarquía incluso si la jerarquía no estaba habilitada al resolver áreas de servicio basadas en la distancia.

Resolver áreas de servicio para valores de ruptura altos mientras se usa la jerarquía de la red tiende a incurrir en mucho menos procesamiento que resolver las mismas áreas de servicio sin usar la jerarquía. Este parámetro le ayuda a controlar la cantidad de procesamiento que se produce al resolver.

Un valor nulo indica que la jerarquía nunca se aplicará y el valor del parámetro Usar jerarquía en análisis siempre se respetará. Si el conjunto de datos de la red de entrada no admite la jerarquía, la especificación de un valor para este parámetro generará un error. En este caso, debe utilizarse un valor nulo.

  • NO_SAVE_OUTPUT_LAYER: el resultado no incluye una capa de análisis de red.
  • SAVE_OUTPUT_LAYER: la salida incluye una capa de análisis de red de los resultados.

En cualquier caso, se devuelve una clase de entidad con polígonos de área de servicio. Sin embargo, es posible que el administrador del servidor desee optar por generar también una capa de análisis de red para que la configuración y los resultados de la herramienta se puedan depurar mediante los controles de Network Analyst en el entorno de ArcGIS for Desktop. Esto puede facilitar mucho el proceso de depuración.

En ArcGIS for Desktop, la ubicación de salida predeterminada para la capa de análisis de red está en la carpeta temporal. Puede determinar la ubicación de la carpeta temporal evaluando el valor del entorno de geoprocesamiento arcpy.env.scratchFolder. La capa de análisis de red de salida se almacena como un archivo LYR cuyo nombre comienza con _ags_gpna y va seguido de un GUID alfanumérico.

Especifica la zona o zonas horarias del parámetro Hora del día.

  • GEO_LOCAL: el parámetro Hora del día se refiere a la zona o zonas horarias en las que se encuentran las instalaciones. Por lo tanto, las horas de inicio o finalización de las áreas de servicio están escalonadas por zona horaria. Establecer la hora del día a las 9:00 a. M., Elegir geográficamente local para la zona horaria para la hora del día y resolver las causas que las áreas de servicio se generen para las 9:00 a. M. am hora del este para cualquier instalación en la zona horaria del este, 9:00 am hora central para instalaciones en la zona horaria central, 9:00 am hora de montaña para instalaciones en la zona horaria de montaña, y así sucesivamente, para instalaciones en diferentes zonas horarias .Si las tiendas de una cadena que abarca los EE. UU. Abren a las 9:00 am hora local, este valor de parámetro podría elegirse para encontrar territorios de mercado en el horario de apertura para todas las tiendas en una solución. Primero, las tiendas en la zona horaria del este se abren y se genera un polígono, luego, una hora más tarde, las tiendas abren en la hora central, y así sucesivamente. Las nueve en punto son siempre en hora local, pero escalonadas en tiempo real.
  • UTC: el parámetro Hora del día se refiere a la hora universal coordinada (UTC). Por lo tanto, todas las instalaciones se alcanzan o salen de manera simultánea, independientemente de la zona o zonas horarias en las que se encuentren.Configurar la hora del día a las 2:00 p.m., elegir UTC y luego resolver las causas de que se generen áreas de servicio para las 9:00 a.m. Hora para cualquier instalación en la zona horaria del este, 8:00 am hora estándar central para instalaciones en la zona horaria central, 7:00 am hora estándar de montaña para instalaciones en la zona horaria de montaña, y así sucesivamente, para instalaciones en diferentes zonas horarias .

El escenario anterior asume la hora estándar. Durante el horario de verano, los horarios de Eastern, Central y Mountain se adelantarían una hora cada uno (es decir, 10:00, 9:00 y 8:00 a.m., respectivamente).

Independientemente de la zona horaria para la configuración de la hora del día, todas las instalaciones deben estar en la misma zona horaria cuando la hora del día tiene un valor no nulo y los polígonos para múltiples instalaciones están configurados para crear polígonos fusionados o no superpuestos.

Elija el modo de transporte para el análisis. PERSONALIZADO es siempre una opción. Para que aparezcan otros nombres de modos de viaje, deben estar presentes en el conjunto de datos de red especificado en el parámetro Network_Dataset. (La función arcpy.na.GetTravelModes proporciona un diccionario de los objetos de modo de viaje configurados en un conjunto de datos de red, y la propiedad name devuelve el nombre de un objeto de modo de viaje).

Un modo de viaje se define en un conjunto de datos de red y proporciona valores de anulación para los parámetros que, en conjunto, modelan automóvil, camión, peatón u otros modos de viaje. Al elegir un modo de viaje aquí, no es necesario que proporciones valores para los siguientes parámetros, que se anulan con los valores especificados en el conjunto de datos de red:


1 respuesta 1

Para actualizar el elemento de la lista 'b', debe conocer el ID del elemento de la lista 'b'. Pero, eso no necesariamente va a coincidir con el ID de artículo del artículo coincidente de la lista 'a'. En los comentarios, lo que ha dicho es que el valor del campo Título en la lista 'b' es lo que va a coincidir con el valor del campo Nombre de los elementos de la lista 'a'.

Genial, definitivamente podemos trabajar con eso.

Ahora, primero cambiaría un poco la configuración de su enlace. No es necesario que agregue el ID del elemento de la lista 'a' en ningún atributo de sus enlaces, porque ese ID no le servirá de nada a menos que necesite acceder al elemento de la lista 'a', que no lo haga, está intentando actualizar el elemento de la lista 'b'. Y ya está utilizando el valor del campo Nombre como el texto del enlace, por lo que tampoco necesita agregarlo a ningún atributo. Además, dado que está utilizando jQuery, en lugar de agregar un atributo onclick directamente en los elementos & lta & gt, ¿por qué no usar jQuery para agregar un controlador de clic a todos los enlaces al mismo tiempo después de que haya terminado de renderizarlos?

Entonces, cuando se hace clic en cualquiera de sus enlaces, está enviando el valor de Nombre a una función updateClickCount (), donde puede usar ese valor para encontrar el elemento coincidente de la lista 'b'. Cuando obtenga el elemento coincidente de la lista 'b', le dará dos cosas muy importantes:

  • El ID del elemento en la lista 'b' que puede usar para crear la URL que necesita para actualizar el elemento.
  • El valor de recuento almacenado actualmente, que necesita saber si va a incrementarlo en uno y actualizarlo de nuevo al elemento de la lista.

Dado que primero debe obtener el elemento coincidente y luego actualizarlo, la función updateClickCount () podría verse así:


4 respuestas 4

No seleccionó el entorno virtual en el que instaló Django en VS Code (vea la esquina inferior izquierda de su captura de pantalla donde dice "Python 3.7.4 32-bit", diría "venv" o algo así si estuviera usando un virtual ambiente). Intente hacer clic en el intérprete en la barra de estado y luego seleccione su entorno.

Y no se trataba de un problema de 64 bits frente a 32 bits. En cambio, el borrado incorrecto (porque el código se está ejecutando y hay un subrayado incorrecto en el editor) provino de una ruta de Python adicional necesaria en la configuración de json.

En el mejor de los casos, siguiendo https://github.com/Microsoft/python-language-server/issues/887 y allí el enfoque de HozcarAndres y el siguiente.

"python.pythonPath" no es necesario porque es el predeterminado ya conocido.

O vaya a settings.json (Ctrl + Shift + P y búsquelo) y cámbielo a

(o cambie el "python.pythonPath" existente, aunque no está ahí de forma predeterminada)

Luego, los paquetes como django que están solo en C: / Users / Admin / Anaconda3 / Lib / site-packages / serán reconocidos automáticamente por linting, mientras que por defecto, la ruta es solo C: / Users / Admin / Anaconda3 / python.exe: no es suficiente para "conocer" los paquetes del sitio. Y no puede hacer una lista de rutas aquí, ya que solo se puede ingresar una sola cadena.

En caso de que el intérprete de Python se pierda después de esto, puede asignar nuevamente el intérprete de Python. Vaya a la parte inferior izquierda en la línea azul y elija nuevamente el intérprete de "Python 3.7".


El archivo PDB es un archivo específico de Visual Studio que tiene los símbolos de depuración para su proyecto. Puede ignorar esos mensajes, a menos que desee ingresar al código de esas DLL con el depurador (lo cual es dudoso, ya que son DLL del sistema). En otras palabras, puede y debe ignorarlos, ya que no tendrá los archivos PDB para ninguno de esos dlls (al menos de forma predeterminada, resulta que en realidad puede obtenerlos al depurar a través del Microsoft Symbol Server). Todo lo que significa es que cuando establece un punto de interrupción y avanza paso a paso por el código, no podrá ingresar a ninguno de esos dlls (lo que no querría hacer de todos modos).

Solo para completar, aquí está la descripción oficial de PDB de MSDN:

Un archivo de base de datos de programa (PDB) contiene información de estado del proyecto y de depuración que permite la vinculación incremental de una configuración de depuración de su programa. Se crea un archivo PDB cuando compila un programa C / C ++ con / ZI o / Zi

También para referencia futura, si desea tener archivos PDB para su propio código, tendría que construir su proyecto con las opciones / ZI o / Zi habilitadas (puede configurarlas a través de las propiedades del proyecto -> C / C ++ - -> General, luego configure el campo para "Formato de información de depuración"). No es relevante para su situación, pero pensé que podría ser útil en el futuro.


Publicar scripts de Python como servicios de geoprocesamiento: mejores prácticas

¿Por qué Python en lugar de modelos?

Si ha estado publicando sus modelos de ModelBuilder como servicios de geoprocesamiento (más GP), probablemente se habrá dado cuenta de que puede ser bastante engorroso. Si no se ha mudado a Python, creo que debería hacerlo. La creación de scripts de Python tiene serias ventajas sobre la creación de modelos en el contexto de la publicación de servicios GP. Esto se debe a que durante el proceso de publicación, ArcGIS Server convertirá los datos y cualquier cosa que pueda ser necesaria para cambiar en variables y esto podría estropear el modelo si no ha seguido las pautas sobre la creación de servicios de GP. La regla general para mí fue que si hay más de 10 objetos en el modelo, es un buen momento para cambiar a Python. Otra cosa es que puede realizar modificaciones fácilmente en el código de Python sin volver a publicar, por el contrario, debe volver a publicar el modelo cada vez que desee lanzar una versión actualizada del servicio GP. Finalmente, dado que no es necesario reiniciar el servicio GP al actualizar el archivo Python (a diferencia de volver a publicar el modelo que requiere reiniciar el servicio), no hay tiempo de inactividad para el servicio y los usuarios no notarán nada.

¿Qué sucede después de la publicación?

Echemos un vistazo a lo que sucede debajo del capó. Ha ejecutado su herramienta de secuencia de comandos en ArcMap y ha publicado el resultado como un servicio. Ahora puede encontrar su servicio y todos los datos que lo acompañan dentro del arcgisserver carpeta en algún lugar de la unidad de disco. El camino sería: C: arcgisserver directorios arcgissystem arcgisinput \% GPServiceName% .GPServer

Encontrará un montón de archivos dentro de la carpeta. Dejemos que & # 8217s inspeccionemos algunos de ellos:

  • serviceconfiguration.json & # 8211 proporciona una descripción general de todas las propiedades del servicio, incluido su tipo de ejecución, capacidades habilitadas, directorio de salida y muchos otros. Aquí verá todas las configuraciones que suele ver en la ventana del Editor de servicios.
  • manifest.xml y manifest.json & # 8211 proporciona una descripción general de la configuración del sistema que se utilizó al publicar el servicio. Esos no son los archivos que normalmente le gustaría inspeccionar.

Dentro de la carpeta esriinfo / metadata hay un archivo llamado metadata.xml que es realmente útil porque allí puedes ver en qué fecha se publicó un servicio. Dos etiquetas que debes mirar son:

Dado que esta información no se expone desde la GUI en ArcGIS Desktop o ArcGIS Server Manager, esta es la única forma de averiguar a qué hora se creó el servicio. Esta información puede resultar muy útil cuando no esté seguro de las versiones de lanzamiento.

Dentro de extraído / v101 carpeta, encontrará el archivo de resultados y la caja de herramientas con la que ha trabajado al publicar el servicio GP. Aquí también encontrará una carpeta con el nombre de la carpeta donde se almacenó el archivo de origen de Python y que contiene el archivo de origen de Python.

¿Mejores prácticas para organizar el código y los archivos de Python?

Miremos & # 8217s dentro del archivo Python. Es posible que haya notado que, al publicar algunas de las variables que declaró, se cambió el nombre a g_ESRI_variable_% id%. La regla general es que no debe usar cadenas, puede convertir rutas a conjuntos de datos y nombres en variables. Por supuesto, no tiene que hacer esto ya que Esri actualizará esas variables en línea, pero es mucho más difícil refactorizar con esos nombres de variables, por lo que es mejor que organice su código correctamente desde el principio.

Si ejecuta la herramienta de secuencia de comandos en ArcGIS, la geodatabase temporal se encuentra en C: Usuarios \% usuario% AppData Local Temp scratch.gdb. Sin embargo, después de publicar la herramienta, el servicio obtendrá una nueva geodatabase temporal. Si necesita inspeccionar los datos intermedios creados, vaya a la geodatabase temporal (la ruta se puede recuperar con el arcpy.env.scratchGDB) que será una nueva geodatabase de archivos en cada ejecución del servicio GP con la siguiente notación: c: arcgisserver directorios arcgisjobs \% service% _gpserver \% jobid% scratch scratch.gdb.

Tenga en cuenta que el servicio GP siempre usará su carpeta de trabajos del servidor local para escribir datos intermedios y este comportamiento no se puede cambiar. Pero tener el servicio escribiendo en el espacio de trabajo temporal es mucho más seguro que escribir en una ubicación designada en el disco. Esto se debe a que no hay posibilidad de que varias instancias de servicio de GP intenten escribir en la misma ubicación al mismo tiempo, lo que puede dar lugar a problemas de bloqueo y concurrencia. Recuerde que cada trabajo de GP enviado se asignará a una nueva carpeta temporal y geodatabase únicas en la carpeta arcgisjobs.

Asegúrese de no usar arcpy.env.workspace en su código siempre declare una variable de ruta y asígnela como la carpeta o una conexión de geodatabase. Para la ruta de los conjuntos de datos, use os.path.join () en lugar de concatenar cadenas. Por motivos de rendimiento, utilice en memoria espacio de trabajo para datos intermedios con la siguiente notación:

Puede aprovechar el uso en memoria workspace, but for troubleshooting purposes it might be better to write something to disk to inspect later on. In this case, it might be handy to create a variable called something like gpTempPlace which you can change to be either “in_memory” or a local file geodatabase depending whether you run clean code in production or troubleshoot the service in the staging environment.

Make sure you don’t use the same name for variable and feature class/field name. This sometimes leads to unexpected results when running the service. It might be helpful to add “_fc” in the end for feature class variable and “_field” for the field variable. This way, you will also be able to distinguish them much easier. The same is applicable for the feature class and feature layer (created with Make Feature Layer GP tool) names.

Remember that you can adjust the Logging level of ArcGIS Server (in Manger) or GP service only (done in Service Editor window) for troubleshooting purposes. It is often useful to set the Message Level setting to Info level before publishing the GP service into production because this will give you the detailed information what exactly went wrong when running the GP service. You can access this information either from the Results window in ArcMap or from the ArcGIS Server logs in Manager.

How do I update the published service?

A special word should go for those users who needs to publish the GP services often while making changes in the code. It is important to understand that after publishing the GP service, the copied Python code file and the toolbox don’t maintain any connection to the source Python file and the source toolbox you have authored. This implies that after making edits to the script tool, you need to push those changes to the published service on server.

There are two types of changes you can make on your source project: the tool parameters in the script tool properties and the Python code. Keep in mind that you cannot edit the published toolbox so if you added a new parameter or modified existing parameter data type, you would need to republish the service. However, if have only modified the Python script source code, there is no need to republish the whole service as you only need to replace the contents within the Python file.

Even though you can automate service publishing workflow with Python, it still takes time to move the toolbox and the Python code files. Therefore, you can save a lot of time by finding a way to replace the Python code in the published Python code file. In order to update the Python code file, you have really just two options – you either copy and replace the published file with the updated source file or copy/paste the source code. This approach may work if you have a tiny Python script and all the paths to the data on your machine and on the server are the same. This can be a plausible solution when you have Desktop and Server on the same machine. If you have a configuration file where the Python source code file gets all the paths and dataset names from, you could also safely replace the published Python file. However, this is still an extra thing to do.

The best practice I came to while working for two years on the GP services is to split the code files and the tool itself. Let me explain.

How do I separate the toolbox logic and Python code?

Create a Python file (a caller script) which will contain all the import statements for the Python modules and your files. By appending the path to your Python files, you will be able import the Python files you are working on this is very useful when your GP service consists not just of one file yet of multiple modules.

This file should also include all the parameters which are exposed in the script tool.

Then you define a main function which will be executed when running the GP service. You call the functions defined within the files you imported.

It is also handy to add some parameter handling logic when you run the script tool in ArcMap, you supply some values for the tool which will become default values visible when users will execute GP service from ArcMap or from any other custom interface. In order to avoid that, you can just leave those parameters empty and then return empty output for GP script tool publishing only purposes.

Create a script tool from this caller Python file defining the parameters and their data types. After the tool will be published as a GP service, you can work with the Python files which will contain only the code that actually does the job.

After performing and saving the changes in the code, feel free to run the GP service directly – the caller Python file (published as a GP service) will import the codefile1 at the folder you specified and run the code. There is no need to restart the GP service or re-import your update module.


Bumped to the homepage by Community ♦ yesterday

This question has answers that may be good or bad the system has marked it active so that they can be reviewed.

I'm implementing the interfaz ICustomizationFilter, and using the event 'OnCustomizationEvent' of this way:

I need get the id or name of toolbar added.
The event is firing, but I can't cast the comObject when it's a toolbar. It Only
cast when a button fires the event.

How can I get the toolbar's data when it fires the event?

I'm implementing the interfaz ICustomizationFilter, and using the event 'OnCustomizationEvent' of this way:

I need get the id or name of toolbar added.
The event is firing, but I can't cast the comObject when it's a toolbar. It Only
cast when a button fires the event.

How can I get the toolbar's data when it fires the event?


Using spatial adjustment

In this section, we will perform a spatial adjustment for two feature classes imported from a CAD file that don’t have a real-world coordinate system associated.

We will use the Affine Transformation method that requires at least three displacement links. A displacement link defines the source and destination coordinates used by the transformation method. Before starting any spatial adjustment, be sure that the horizontal accuracy of the destination coordinates is at least the same or better as the horizontal accuracy of source coordinates.

Follow these steps to perform a spatial adjustment in the ArcMap application:

  1. Start the ArcMap application and open the existing map document, SpatialAdjustment.mxd, from <drive>:LearningArcGISChapter05.
  2. In Tabla de contenido, right-click on the Polyline layer and navigate to Properties | Fuente. Note that there is no projection information associated with the layer. Close the Layer Properties window. Repeat the step for the Polígono capa.
    First, we will add a basemap for the Brussels city from ArcGIS Online.
    Check whether ArcGIS for Desktop is connected to ArcGIS Online.
  3. En el Standard toolbar, from the drop-down menu next to Add Data, click on Add Data from ArcGIS Online. Search for the brusselsdata and select Brussels – Orthophoto 2012. Click on Detalles to read the information from the Descripción tab. Click on the yellow button called Add Data, as shown in the following screenshot:
  4. Drag the Brussels – Orthophoto 2012 basemap layer to the bottom of Tabla de contenido.
  5. Right-click on the Brussels-Orthophoto 2012 basemap layer and go to Properties | Fuente. Inspect the resolution and the coordinate system of the orthophoto map. The layer’s coordinate system is Belge_Lambert_1972002C, and the map projection is Lambert_Conformal_Conic.
    Second, we will use Spatial Adjustment tools to move the Polyline y Polígono layers to their correct coordinates using the Brussels-Orthophoto 2012 basemap layer as the destination coordinate space, as shown in the following screenshot:
  6. Add the Spatial Adjustment y Editor toolbars from Customize | Toolbars. To apply a spatial adjustment to the Polyline y Polígono layers, you must start the editing session. En el Editor toolbar, navigate to Editor | Start Editing.
  7. En el Spatial Adjustment toolbar, go to Spatial Adjustment | Set Adjust Data. Cheque All features in these layers[SI1] and make sure both the Polyline y Polígono layers are selected. Click on OK.
  8. Then, in the Spatial Adjustment toolbar, go to Spatial Adjustment | Adjustment Methods. We will use the default transformation method called Transformation-Affine.
  9. Ve a la Bookmarks menú y seleccione Manage Bookmarks. Haga clic en el Load button and add Source_points.dat y Destination_points.dat de <drive>:LearningArcGISChapter05.
  10. Keep Bookmarks Manager open and inspect Fuente y Destination for all the seven points by selecting the bookmark and clicking on Zoom To button. When finished, close the Bookmarks Manager window.
    Instead of adding the displacement links manually, you can load them through a links file.
  11. En el Spatial Adjustment toolbar, click on Link Table. Go to Spatial Adjustment | Links|Open Links File, navigate to <drive>:LearningArcGISChapter05, and select DisplacementLinks.txt. Now, click on Abierto. Link Table is automatically updated with seven coordinate pairs. You can modify or delete the individual links.
  12. En el Spatial Adjustment toolbar, navigate to Spatial Adjustment | Adjust. Note the RMS Error value: 4.9 meters. For a dataset with the reference scale of 1:15,000, an RMS value of 4.9 meters is a reasonable one. The assumed reference scale and the resulting RMS value should be mentioned in metadata file (at Item Description | Resource | Lineage). Next, close the Link Table.

If you want add the displacement links manually, you should set up the snapping environment by checking Vertex Snapping en el Editor | Snapping toolbar.

You can find the results of this exercise at <drive>:LearningArcGISChapter05 ResultsSpatialAdjustment.


Introduction

Due to the advancement in the computing technology and the rising need for GIS applications [1-3], more and more scientists are developing free of charge software packages and tools which are very useful for those who cannot afford to buy commercial expensive software packages. Then, the main purpose is to serve the groups that are working in Meta Data management and who publish their works on the World Wide Web for all interested users. As part of the “Geomatics Engineering Department” who is interested in GIS and its application, we decided the development of this software to be used by our students and all interested groups.

The advancement of computers and computing capabilities created great deal of data (Meta data) and vice versa specialized groups in its management. Famous scientists are working hardly in the area of data organization and management as it is becoming the real problem. GIS is a great system for Meta data management. Its applications are numbered and proved to be efficient in real life and in case of catastrophes (as in Catherina storm in the USA). All commercial Software are expensive and you have to buy add on for special applications which make them more expensive. We decided to develop an OSGIS and add on to be used for free. We randomly used MapWindow to design our OSGIS then test it against the commercial GIS, where it proved complete functionality and reliability.

MapWindow: is a mapping tool, a GIS modeling system, and a GIS application programming interface (API), which was developed at Utah State University by Daniel P. Ames and his team. It was developed to address the need for a GIS programming tool for research and projects, without the need to purchase GIS systems, or become GIS expert. It is used to distribute data and develop custom spatial data analysis tools [4-6]. Developers can write Plug-ins to add additional functionality (models, special viewers, and hot-link). Handlers and data editors can pass these to users. It includes standard GIS data visualization features as well as database functions such as attribute table editing, shape file editing and data converters. Dozens of standard GIS formats are supported, including Shape files, GeoTIFF, ESRI format, ASCII and binary grids [7,8]. It includes a complete ActiveX component to instantly add GIS capabilities to the user’s existing software product [9,10]. Additional geo-processing components are available for .NET-compatible environments and languages. Components of MapWindow are:

MapWinGIS: This is an ActiveX control, which may be placed into any project in any programming language that supports ActiveX. This is the main map component - if the user wanted to write a program that displayed shape data, for example, the user could use this control for the display portion of the user’s program.

MapWin Interfaces: Also called the “Plug-in Interface”. It is a .dll file, which will allow the user to write the user’s own plug-ins to the main application. This may be done from any programming language, which supports the creation and use of Microsoft .NET 2.0 Dynamic Link Libraries (dlls).

MapWinGeoProc: This is a .NET library of geoprocessing functions, including tools for managing projections, clipping and buffering.

Setting up the Development Environment: Using Microsoft Visual Basic 2010 Express Edition, the Visual Studio development environment main window is presented in order to select Windows Form Application and to give a name (BAU GIS) to the web site. Then the process can continue to the tool box and all Windows Forms collapsible menu then to Map Control.

The first form is the “frmIntro” which is the introduction frame in BAU GIS (Figure 1). This form “frmIntro” includes: Images from BAU and two labels in the bottom of the form.

The second frame is the “frmMain” form, which is the main frame in BAU GIS (Figure 2). All other frames are connected to “frmMain.” These are used to apply some commands and display results. The “frmMain” of the BAU OSGIS form consists of the following parts:

Main menu: Consists of five titles to give a specific command to work (See Figure 3).

Standard toolbar: It consists of (14) icons each gives a specific task to be worked in BAU OSGIS (See Figure 4).

Main Map: This is the utmost important part as most of the results will be displayed in this object. On main map you can do several functions and set general display properties (display Map layer, tracking layer etc.).

Legend: This is needed in order to clarify the symbols used to represent features on the map. Legend consists of examples of the symbols on the map with labels containing explanatory text. When you use a single symbol for the features in a layer, the layer is labeled with the layer name in the legend. User can open attribute for the layer or show properties, etc. (Figure 5).

There are many other forms like Error dialog, form about dialog, form plug-in, form choose projection, form project setting and others which are related to form main (See Figure 6).


Ver el vídeo: Unsupervised Classification of a satellite image using ArcGIS