10 votos

De .shp a .kml a .shp sin perder los atributos

He convertido un shapefile con atributos a un .kml para un cliente. El .kml y los atributos fueron editados dentro de google earth. Recibí el .kml actualizado y ahora necesito devolverlo a .shp. El problema es: todos mis atributos están ahora en formato html, lo que hace que el cuadro de información emergente en google earth. Cuando trato de convertir de nuevo a .shp mis atributos se agrupan en un campo (creado por google) "Descripción". Y TODOS mis atributos e información se agrupan en una sola celda. ¿Hay alguna forma de extraer los datos del campo "Descripción"? Incluso si hago eso, ¿hay una manera fácil de deshacerse del formato html y hacerlo utilizable?

Esto es lo que obtengo usando el método "Fusion Table" que encontré en algunos foros. Puedes ver el html en la izquierda, continúa más allá de lo que muestra. http://s6.postimg.org/uf7jeuksh/problems.png

0 votos

¿Qué se utiliza para convertir entre los formatos? ¿Puedes probar ogr2ogr o QGIS en su lugar?

4voto

CaedJar4 Puntos 18

EDITAR:

Acabo de confirmar que una herramienta Spatial ETL creada con la extensión Data Interoperability devolverá los atributos de tu archivo KML/KMZ a un shapefile con el esquema intacto. Sólo hay que seleccionar el Esquema dinámico en el asistente de creación de herramientas:

Spatial ETL step

Original:

una solución sería analizar el campo de descripción para los valores de los diversos campos de atributos que necesita y copiarlos en los campos apropiados. Y la próxima vez, haz que tu cliente añada los atributos en una hoja de cálculo de Excel o algo así para que puedas volver a unirlo a tu shapefile para actualizarlo.

1 votos

Creo que esa es mi única solución en este momento. Pero definitivamente incluiré una hoja de cálculo de Excel la próxima vez.

0 votos

¿Tiene acceso a la extensión de interoperabilidad de datos para ArcGIS? No tengo experiencia con ella para este tema, pero puede haber escritores allí que pueden reasignar sus attirbutes

0 votos

FME de Safe Software (en el que se basa Data Interoperability) también hará lo que necesitas, pero también es caro.

1voto

furinkan Puntos 356

Esta herramienta, Exportar a KML desarrollado por Kevin Martin hace el trabajo.

Hay algunos problemas con los estilos, pero al menos los colores y los atributos son correctos, y hay muchas opciones para jugar con los atributos, las etiquetas, etc.

0voto

Janis Peisenieks Puntos 164

No, la definición del "nivel de Fermi" no cambia, sólo cambia su posición relativa en la estructura de bandas de un material.

Definición : La energía de Fermi o nivel de Fermi $E_F$ es el potencial químico de los electrones en $T=0.$ Los estados que se llenan en $T=0$ se llaman el mar de Fermi.

En un sólido los valores propios de energía se llenan de acuerdo con la distribución de Fermi-Dirac, que dice que la probabilidad de un estado de energía $E$ ocupado por un electrón viene dado por: $$f(E)=\frac{1}{e^{(E-E_F)/k_BT}+1}.$$

Ahora bien, ¿qué significa que el nivel de Fermi se encuentre en el hueco de banda o, por el contrario, en una de las bandas? He aquí una visión general utilizando un bonito diagrama de wikipedia :

enter image description here

El eje y es la energía y el eje x la densidad de estados (de electrones) disponible para las diferentes estructuras de banda de los distintos materiales.

  • Metales son muy buenos conductores porque el nivel de Fermi se encuentra dentro de una de las bandas, lo que significa que no hay una brecha energética que superar para que un electrón de la banda de valencia pase a la banda de conducción. Esto explica que los metales estén poblados por electrones casi libres en la banda de conducción.

  • Semimetales : Muy similar a los metales, $E_F$ se encuentra en una de las bandas, pero a diferencia de los metales, aquí el solapamiento entre las bandas de valencia y de conducción es muy pequeño. Pero aún así, ¡no hay hueco!

  • Semiconductores : En los semiconductores, hay un pequeño hueco energético entre las dos bandas de valencia y conducción, los estados en el hueco son no disponible para los electrones. Por lo tanto, para que haya portadores de carga en movimiento, electrones y huecos, primero hay que calentar el sistema (excitarlo, también posible con un campo E aplicado) para superar la brecha $E_g$ y poder ocupar los estados disponibles en la banda de conducción. Ahora bien, como en el caso de los semiconductores el hueco suele ser muy estrecho, aproximadamente $\leq 4 eV$ lo que significa que requiere una cantidad mínima específica de energía para la transición. Debido a que esta brecha es tan pequeña, las propiedades de los semiconductores se sitúan entre las de los conductores y las de los aislantes, pero a diferencia de los metales, los semiconductores aumentan su conductividad con la temperatura, porque el solapamiento entre las dos bandas se hace mayor con el aumento de T. Finalmente, como se ve en el diagrama anterior, $E_F$ se encuentra en la brecha de los semiconductores, lo que significa que los estados ocupados y desocupados en la banda de valencia y de conducción, respectivamente, están energéticamente separados. Lo mejor de los semiconductores es que pueden estar dopados con n y p, lo que hace que el nivel de fermi se desplace hacia la banda de conducción y la banda de valencia, respectivamente.

  • Finalmente para aislantes La brecha energética entre las dos bandas es tan grande que resulta muy difícil excitar los electrones hacia la banda de conducción, de ahí su escasa conductividad.

Un último punto La pregunta es: ¿de dónde vienen estos huecos? Para los sólidos, cuando se toma el modelo de electrones casi libres y se añade un potencial periódico $V(\mathbf{r+R})=V(\mathbf{r})$ a la imagen ( $\mathbf{R}$ el vector de la red), y resolvemos la ecuación de Schroedinger utilizando la teoría de perturbaciones degeneradas, vemos que se abre una brecha entre los valores propios de energía en la frontera de la zona en el espacio de momento $\mathbf{k}$ es decir $$E_{\pm}=\epsilon_0(\mathbf{k})\pm |V_G|$$

$V_G$ siendo el valor del potencial periódico añadido en el límite de la zona. En conclusión, cuando los electrones están sometidos a un potencial periódico, surgen brechas en su relación de dispersión. Por lo tanto, el espectro de electrones se divide en bandas, con una brecha de energía prohibida entre las dos bandas.


Aclaraciones añadidas en relación con la pregunta formulada por Calmarius en los comentarios:

Pregunta: De esta respuesta todavía no me queda claro por qué el nivel de fermi se encuentra en una brecha prohibida. Basándome en lo que he encontrado en internet dicen que el nivel de fermi es el máximo nivel de energía ocupado por electrones en 0K "la cima del mar de Fermi". Para los semiconductores esto significa que todos los electrones están en la banda de valencia. Entonces, ¿por qué el nivel de fermi se encuentra justo en la parte superior de la banda de valencia? No está claro para mí.

No te preocupes, tu confusión está bien situada y tu pregunta es bastante común, ten en cuenta que algunas de las cosas que describo aquí pueden o no estar ya claras para ti, pero tengo que asegurarme de que se mencionan.. Lo primero es lo primero, la afirmación de que "el nivel de fermi es el máximo nivel de energía ocupado por los electrones a 0K" es completamente errónea (en realidad sería una definición más válida para la energía de la banda de valencia), y por alguna razón parece ser un malentendido común, como tú mismo te has dado cuenta buscando en la web. Podrías añadir una corrección a esa definición, diciendo que "el máximo nivel de energía ocupado por los electrones en la banda de valencia siempre está por debajo del nivel de fermi", y esto sería como decir algo más preciso sobre el nivel de fermi. Sin embargo, la definición más general, que siempre es correcta, es: "el potencial químico a 0 Kelvin". Con frecuencia, el nivel de Fermi se define erróneamente como la energía del estado electrónico ocupado más energético de un sistema, y esta definición conduce a errores en cuanto se tienen eigenestados energéticos discretos, es decir, cuando hay una brecha entre el estado ocupado más energético y el estado desocupado menos energético del sistema. Mientras que la definición correcta es el potencial químico en $T=0 K$ y estará a medio camino entre el mínimo de la banda de conducción y el máximo de la banda de valencia. Está exactamente en el medio, es decir $E_F = 1/2(E_c-E_v)$ cuando se tiene, por ejemplo, un semiconductor intrínseco, es decir, la misma densidad de electrones en la banda de conducción $n_0$ y agujeros libres en la banda de valencia $p_0$ o normalmente escrito como $n_0 = p_0 = n_i,$ (i de intrínseco) esta ecuación ya debería resolver parte de su confusión sobre lo que define $E_F.$ Al dopar el semiconductor, éste se convierte en una desigualdad, por ejemplo $n_0>n_i>p_0$ para los n-dopados.

Para simplificar la imagen, imaginemos un armatoste metálico formado por un conjunto periódico de núcleos atómicos, sin su nube de electrones, necesaria para la neutralidad electrostática. Supongamos ahora que se añaden electrones a este conjunto de núcleos hasta alcanzar la neutralidad. Los primeros electrones añadidos entran en los estados de energía cinética más bajos posibles, o como se ve en el espacio k, estados de vectores de onda más pequeños. Los siguientes electrones, debido al principio de exclusión de Pauli, deben ir ocupando sucesivas cáscaras en el espacio k, de energía cada vez mayor (la disposición de estos niveles depende tanto de la dimensionalidad del sistema como de las condiciones de contorno). Tan pronto como se suministran suficientes electrones para alcanzar la neutralidad, se establece un potencial químico (suponiendo que esta neutralidad se haya alcanzado para 0 K), que corresponde al nivel de Fermi, nótese de nuevo que este potencial químico no será igual al estado k más ocupado de electrones. Ahora, una observación importante: si seguimos intentando añadir continuamente electrones al sistema, los estados de momento disponibles permitidos en el sistema no forman un continuo, (debido a la disposición periódica de los núcleos, en términos sencillos) y cuando resolvemos la ecuación de Schrodinger para el modelo más simple de este tipo, nos encontramos inmediatamente con una separación energética, el bandgap, entre la banda de valencia (donde los electrones están encerrados en estados k fijos) y la banda de conducción, que debe ser superada para cualquier adición adicional de electrones al sistema. En pocas palabras, en cualquier sistema la densidad de huecos libres en la banda de valencia y de electrones en la banda de conducción define el nivel de fermi. En el caso de los semiconductores, el nivel de fermi se encuentra siempre entre las dos bandas, y su posición exacta viene determinada por la concentración de dopaje.


Referencias recomendadas:

The Oxford Solid State Basics, por Steven H. Simon.

Fundamentos de los semiconductores, 4ª edición, por Peter Y. Yu y Manuel Cardona .

0 votos

Sí, pero eso no resuelve mi problema. Mis atributos siguen siendo agrupados en el campo "Descripción" en el formato html. La herramienta KML to Layer no funciona en mi situación. Incluso he probado otros arcscripts.

0 votos

Véase mi respuesta editada.

0 votos

De nuevo, la imagen que he enlazado en mi pregunta original es mi resultado al utilizar el método de la tabla de fusión. No funciona para mi situación.

0voto

neighdough Puntos 8

bugmenot123 ya lo ha mencionado, pero ogr2ogr puede convertir entre shapefiles y kml. Hay otro puesto que cubre cómo convertir entre los dos.

-3voto

Chad Miller Puntos 783

Todavía no hay una solución sencilla para este asunto de la conversión. Se ha preguntado aquí múltiples veces en los últimos años:

kml-en-qgis-con-datos-adicionales

preservar-atributos-durante-la-conversión-kml2shp-en-arcgis-para-escritorio

convertir-kml-en-archivo-de-forma-sin-perder-datos-de-atributos

La explicación de esri para su herramienta de conversión KmltoLayer:

"Como 'propietario' de la herramienta KML en Esri puedo decir: Los elementos ExtendedData dentro de un KML no se traducirán en atributos de campo cuando se utilice la herramienta KML to Layer con ArcGIS en cualquier versión (9.3-10.3). Esto incluye ArcMap en Windows, o ArcGIS Server en Linux. Hay una solicitud de mejora para apoyar esto que estamos considerando para una futura versión. Pero por 2500 dólares compre nuestra Extensión de Interoperabilidad de Datos que, según decimos, conservará los elementos de ExtendedData".

2 votos

Me ofende personalmente su respuesta. Si vas a copiar y pegar mis comentarios y ponerlos entre comillas, con seguridad NO añadas tu propio comentario sobre la compra de una extensión.

0 votos

@sirgeo definitivamente hay una solución a este tema, en la extensión de Interoperabilidad de Datos. Sólo que parece que no es una solución que te guste.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X