5 votos

¿Cómo escribo los metadatos XML con Python?

Algunos programas de Python que he escrito generan archivos raster a través de GDAL. Me gustaría que el software creara un archivo de metadatos XML para cada raster para poder incluir detalles sobre cómo se hizo el raster, quién lo hizo y demás.

Tengo entendido que la ISO 19115 es la norma internacional de metadatos geoespaciales. Sin embargo, no tengo ni idea de por dónde empezar a generar un archivo de metadatos. ¿Puede GDAL hacer esto desde cero? ¿O sería mejor trabajar con una biblioteca XML dedicada en Python?

1voto

Max Puntos 195

Este post me hizo empezar a crear un archivo XML necesario con Python: http://stackoverflow.com/questions/3605680/creating-a-simple-xml-file-using-python

en mi caso, este código:

##############################
#Create the necessary XML file
##############################
root = ET.Element("OGRVRTDataSource")
OGRVRTLayer  = ET.SubElement(root, "OGRVRTLayer")
OGRVRTLayer.set("name", AMSRcsv_shortname)

SrcDataSource = ET.SubElement(OGRVRTLayer, "SrcDataSource")
SrcDataSource.text = AMSRcsv

GeometryType = ET.SubElement(OGRVRTLayer, "GeometryType")
GeometryType.text = "wkbPoint"

GeometryField = ET.SubElement(OGRVRTLayer,"GeometryField")
GeometryField.set("encoding", "PointFromColumns")
GeometryField.set("x", "lon")
GeometryField.set("y", "lat")
GeometryField.set("z", "brightness")

tree = ET.ElementTree(root)
tree.write(AMSRcsv_vrt)

crea tales archivos:

<OGRVRTDataSource>
   <OGRVRTLayer name="GW1AM2_201301010834_032D_L1SGRTBR_1110110_channel89H">
      <SrcDataSource>G:\AMSR\GW1AM2_201301010834_032D_L1SGRTBR_1110110_channel89H.csv</SrcDataSource>
      <GeometryType>wkbPoint</GeometryType>
      <GeometryField encoding="PointFromColumns" x="lon" y="lat" z="brightness" />
   </OGRVRTLayer>
</OGRVRTDataSource>

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