4 votos

Rejilla GDAL produce NoData

Tengo una serie de archivos de texto que representan a X,Y,Z los datos de elevación. Estoy tratando de utilizar el GDAL cuadrícula herramienta de línea de comandos para convertir estos archivos de texto de trama GeoTIFs. Mis archivos son el espacio delimitado y por lo que he creado VRT archivos que seleccione los datos de modo que GDAL puede leer ACEPTAR. La VRT archivos de trabajo. Puedo cargar las capas a QGIS y puedo usar ogrinfo para describir los datos OK.

Muchos de mis datos de texto de los archivos de convertir a la trama muy bien. Estos son típicamente más archivos con más de 10.000 líneas de datos. Sin embargo, mis archivos pequeños (< de 5.000 líneas) producir un mapa de bits con sólo NoData valores.

Estoy usando el linear algoritmo. Mis puntos están espaciados de manera uniforme a 1m y yo he intentado con varios valores de radio. El comando que estoy usando es:

C:/OSGeo4W64/bin/gdal_grid.exe -ot Float32 -of GTiff -txe 239982.0 240207.0 -tye 647659.0 648667.0 -outsize 225 1008 -a linear:radius=1 D:\Temp\19900928.vrt D:\Temp\19900928.tif

También he probado el algoritmo de vecino más cercano y obtener un poco raro, los valores parciales en la salida GeoTiFF para estos pequeños archivos.

Un ejemplo de archivo de texto de origen está disponible aquí:

https://gist.github.com/philipbaileynar/c9eb76880b8ce6fa8c786ca53d892b26

El correspondiente archivo VRT es:

<?xml version="1.0" ?>
<OGRVRTDataSource>
    <OGRVRTLayer name="elevation_points">
        <SrcDataSource>CSV:D:\Temp\elevation_points.txt</SrcDataSource>
        <SrcLayer>elevation_points</SrcLayer>
        <GeometryType>wkbPoint</GeometryType>
        <LayerSRS>EPSG:2762</LayerSRS>
        <GeometryField encoding="PointFromColumns" srs="EPSG:2762" x="field_2" y="field_3" z="field_4"/>
    </OGRVRTLayer>
</OGRVRTDataSource>

Alguien puede ayudar y averiguar cómo hacer que GDAL cuadrícula de producir un mapa de bits a partir de estos datos por favor?

2voto

Richard Watson Puntos 1863

También puede intentar gdal_rasterize lugar:

C:/OSGeo4W64/bin/gdal_rasterize.exe -ot Float32 -3d -tr 1 1 -of GTiff -te 239982.0 647659.0 240207.0 648667.0 -ts 225 1008 -a_nodata -9999 D:\Temp\19900928.vrt D:\Temp\199009.tif

El '-tr 1 1' se establezca la resolución a 1m que es lo que quieres. El único problema con gdal_rasterize sin embargo, es que si no hay puntos en el espacio, no habrá ninguna trama píxeles. I. e. no cualquier extrapolación para rellenar orificios en su base de datos, que puede o no puede ser lo que usted desea.

enter image description here

0voto

Joe Puntos 16

Debo decir que no entiendo a los parámetros que se describen en el http://www.gdal.org/gdal_grid.html

lineal

(Desde GDAL 2.1) Lineal algoritmo de interpolación.

El método Lineal realiza la interpolación lineal mediante el cálculo de una La triangulación de Delaunay de la nube de puntos, encontrando en el que el triángulo de la triangulación, el punto es, y al hacer la interpolación lineal desde su baricéntrico coordenadas dentro del triángulo. Si el punto es no en cualquier triángulo, dependiendo de la radio, el algoritmo va a utilizar el valor del punto más cercano o el valor nodata.

Tiene los siguientes parámetros:

radio: En caso de que el punto a interpolar no encaja en un triángulo de la triangulación de Delaunay, el uso que la distancia máxima a la búsqueda de un vecino más cercano, o el uso nodata lo contrario. Si se establece en -1, la búsqueda la distancia es infinita. Si se establece en 0, el valor nodata será utilizado siempre. Por defecto es -1. nodata: NODATA marcador para rellenar los puntos vacíos (por defecto 0.0).

Sin embargo, parece que el uso de -lineal:radio=1 es malo. Si puedo quitar la radio y dejar GDAL para utilizar los valores predeterminados puedo obtener este resultado:

enter image description here

Comando:

gdal_grid -ot Float32 -of GTiff -txe 239982.0 240207.0 -tye 647659.0 648667.0 -outsize 225 1008  elevation_points.vrt elavation_points2.tif

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