将XYZ文件(具有固定间隔的xy)转换为ESRI GRID格式?


16

通常,顾问(LiDAR调查)为我提供符合我要求的数据;已经采用ESRI GRID或ASCII GRID格式。这样,LiDAR数据可轻松与ArcGIS结合使用。这次我只有xyz文件(即具有规则间隔的xy坐标)。

以前,我使用的是Min-Lang Huang的实用程序,名为GridBatch,该实用程序会将XYZ转换为ASCII GRID,然后转换为ESRI GRID文件。不幸的是,自从我将计算机升级到W7 64bit并将ArcGIS升级到版本10以来,该实用程序崩溃了。

还有另一种将LiDAR表面XYZ数据批量转换为ESRI GRID文件的方法吗?

(转换为点->内插是一个选项,我想避免考虑要转换的300多个图块)。


这是旧的ESRI论坛主题,具有指向该工具的链接:forums.esri.com/Thread.asp?c=93&f=986&t=268865
Jakub Sisak GeoGraphics 2010年

感谢大家的投入。原始实用程序附带了源代码。我获得了创建者的许可以进行更新。我设法消除了这些错误,简化了我的需求,并在Vista上针对9.3版进行了更新。resources.arcgis.com/gallery/file/geoprocessing/...
的Jakub锡萨克地理学

1
感谢您的答复,这将非常有用。但是我确实设法解决了这个问题。有关信息:使用ASCII 3D生成要素(3D Analyst工具>转换>从文件),确保输出到点,然后使用“添加Z信息”工具(3D Analyst> 3D要素)附加高度数据。然后,我使用自然邻域进行插值(3D Analyst>栅格插值)。
veedub

1
@Jakub因为该链接不再起作用,所以该帖子不再有效。我将其转换为评论,以便信息不会完全丢失给所有人(以防万一ESRI恢复了目标)。
ub

1
@AndreSilva-假设有规律的间隔。这是5岁的职位。验船师现在提供多种格式的LiDAR,因此对我而言,这不再是一个大问题。您也看不到此处删除的大量帖子。我向工具的作者询问源代码,并在他的许可下创建了一个更新的Addin,但是自版本10起,我就不需要它,也不需要对其进行更新并将其删除。因此,由于该解决方案不再可用,引用该解决方案的帖子也被删除。
Jakub Sisak GeoGraphics 2015年

Answers:


8

听起来您想分批执行此操作(不要怪您)

正如STH所说,看起来Global Mapper确实可以进行批量转换。价格也不错。

FME Desktop可以使用RasterDEMGenerator转换器进行操作,并且可以与读取器/写入器进行一些链接,但是您需要Pro版本,而ArcGIS Data Interop扩展中没有该版本。

如果您的预算中有更多免费空间,则gdal_grid应该这样做。您将需要花费一些时间来确定所有xyz文件的范围,但是ogrinfo会做一些简短的工作,然后编写一个批处理文件/脚本以在每个文件上运行它。

或者,您可以按此处所述使用与Point to Raster链接的ArcGIS ASCII 3D要素类(需要3D Analyst),然后使用ArcPy或ModelBuilder批量处理该过程。如果没有3D Analyst,则可以使用任意数量的arcscript或LASTools txt2Las和las2shp以ArcGIS可以使用的格式获取它。我知道您不想将txtfiles转换为中间要素类,但这并不太费力,并且您已经可以使用该软件。


谢谢。我尝试将ASCII 3D转换为FC,然后指向栅格,也将Topo指向栅格等。结果还可以,但过程耗时太长。原始XYZ原始文件转换为ASCII GRID可获得最佳结果,而无需其他插值/转换。我提到的工具随VB6源代码一起提供,因此我能够对其进行更新(ArcCatalog VBA过程),并且看起来不错。我将尝试使用Global Mapper。就像它从我所读到的内容中可以做什么一样。
Jakub Sisak GeoGraphics 2010年

如果您要尝试FME,则建议使用FME2011(www.safe.com/beta)。对Lidar / Point Cloud的支持有了很大的改进。您可能可以使用任何变压器从激光雷达XYZ中读取并写入无网格格式,并且它将批量处理。
马克爱尔兰

7

LAStools的工具lasgrid.exe(README)可以非常快速地进行带有网格化(无三角剖分)的“直接”转换。LAStools的工具las2dem.exe(README)通过临时TIN栅格化这些点。


谢谢,马丁。您是否看到了scw发布的答案(从9/2010开始)或wwnick对LAStools的引用(也在9/2010开始)?它们似乎覆盖了完全相同的领域,所以我想知道您在这里试图做出什么区别或改进。
ub

2
我认为,有关该工具的评论无需三角剖分就可以发挥作用,从而澄清了一些混淆。
mike,2012年

6

您可以尝试使用XYZ GDAL驱动器读取光栅格式并将其转换为任意数量的格式使用gdal_translate。您需要GDAL 1.8或更高版本(例如,从OSGeo4W)。

例如,要将XYZ文件转换my_raster.xyz为Esri ASCII网格格式,请使用以下shell命令(例如,从OSGeo4W Shell):

gdal_translate -of AAIGrid my_raster.xyz my_raster.asc

4

我也遇到了同样的问题-对我来说,最简单的方法是将GIS外部的所有文件连接起来。
当我运行Windows时,我

在(* .xyz)中使用DOS命令执行%f,确实键入了“%f” >> Aggregate.xyz,

然后我可以运行常规处理任务(从ASCII转换为网格,转换为DEM或其他)时间,而不是155次。当然,我生成的文本文件很大(> 1GB),但ESRI可以处理。


3

看看FusionXYZ2DTM工具。根据其手册:

XYZ2DTM将存储为ACSII XYZ点文件的曲面模型转换为PLANS DTM格式。输入点文件包含每个网格点的一条记录,其中X,Y和高程值用逗号,空格或制表符分隔。通常,仅当以这种格式提供曲面模型时才使用此实用程序。



0

wwnick提到LASTools,它还包含一个非常快的点云到LAS2DEM的 DEM转换例程。如果性能很重要,我会尝试一下,因为我猜它会比其他一些软件包快很多倍。


1
谢谢。las2dem.exe首先将点三角剖分至TIN,然后生成DEM。我正在寻找直接转换。
Jakub Sisak GeoGraphics 2010年

-2

我建议为此尝试GlobalMapper(www.globalmapper.com)。演示版可以从他们的网页上下载。您可以获取演示许可证,因此,如果您通过电子邮件发送支持,则可以在有限的时间内试用完整的功能。

如果您想要一个免费的工具来操作LIDAR文件,则可以查看命令行工具(LasTOOLS)http://www.cs.unc.edu/~isenburg/lastools/


谢谢。我将尝试使用Global Mapper。至于LasTools,我已经看过一段时间了,我唯一可以使用的是las2dem.exe。但是,此工具首先进行三角剖分,然后转换为dem:“此工具从LAS格式读取LIDAR点,并对它们进行三角剖分暂时放入TIN,然后将TIN栅格到DEM。”
Jakub Sisak GeoGraphics 2010年

1
我认为您可以通过对其进行编辑以包含一个链接或其他引用来改善您的答案,该链接或其他引用指示GlobalMapper不仅可以使用LiDAR数据,而且可以实际导出为Esri ASCII Raster格式。否则,听起来可能只是在推测。
PolyGeo

-2

SAGA GIS是免费且便携式的,并且可以处理LIDAR数据。我不使用此类数据,但SAGA支持多种格式导出(包括Esri ASCII网格格式),因此您应该尝试。并且它具有相对用户友好的GUI。


4
我认为您可以通过对其进行编辑以包含一个链接或其他引用来改善您的答案,该链接或其他引用指示SAGA不仅可以使用LiDAR数据,而且可以实际导出为Esri ASCII Raster格式。否则,听起来可能只是在推测。
PolyGeo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.