Cómo utilizar scripts de Python para cálculos de campo en arcgis para resolver problemas chinos
Cuando abre una tabla de atributos de capa en arcgis, puede calcular un determinado campo en la tabla de atributos. Sin embargo, en tiempos normales, generalmente usa la interfaz de calculadora de campos proporcionada por arcgis para engañar. cálculo de prueba. La operación de asignación de respuesta corta no utiliza scripts para realizar operaciones lógicas en los valores de campo. Últimamente he estado aprendiendo a programar scripts en Python y un buen amigo mío necesitaba mi ayuda (mapeo con arcgis), así que esto me resultó útil. Pensé que podría manejarlo fácilmente, pero no esperaba pegarme un tiro en el pie. Así es como me golpearon en el pie.
2. Descripción del problema: cambie el valor del campo de prueba "Hunan" a "Provincia de Hunan".
La lógica es muy simple. Utilice Python para escribir el método correspondiente:
def cal(value):
if(value=='Hunan'). :
valor de retorno 'provincia'
else:
valor de retorno
Ejecute el código Python en arcgis de la siguiente manera:
Nota: ¡El método de valor para hacer referencia a campos de atributos es! ¡prueba!
Haga clic en Aceptar y aparecerá un error sin especificar cuál es el error. Finalmente, encontré en la información de la consulta que cuando se usa chino en Python, el chino debe transcodificarse.
3. Solución
Así que simplemente transcodifica las partes chinas del código anterior. El código modificado es el siguiente:
def cal(value):
if(value=='Hunan'.decode('utf-8')):
valor de retorno 'province'.decode('utf-8')
else:
valor de retorno
De esta manera no habrá más errores , Todo lo que hay que modificar es agregar el método decode('utf-8') después de las cadenas 'Hunan' y 'province' para codificarlas.
Esto resuelve el problema del uso de scripts de Python para procesar chino en arcgis.
4. Resumen
Cuando utilice scripts de Python en arcgis, siempre que encuentre chino, deberá decodificarlo ('utf-8') y transcodificarlo.
Además, el editor de scripts de Python proporcionado en arcgis es muy difícil de usar. Primero puede usar un buen editor de Python para escribir el código lógico y luego copiarlo y ejecutarlo, lo cual es rápido y bueno. .