Friday, February 19, 2010

Performance of GeoMedia Grid's Import LAS File to Feature Class command

I have tried GeoMedia Grid 6.1.1's Import LAS File to Feature Class command and I found it rather painful to use especially when processing hundreds of gigabytes worth of LAS files. Converting binary LiDAR points in LAS format files to read/write database feature class records is an expensive and time consuming process. You might be better off  filtering the LAS files to just what you need before using the Import LAS File to Feature Class command. For example, if I want to generate a bare earth DEM, I might only require LiDAR ground points; there is no point keeping the vegetation points or the building points.

I found the free command line programs LAStools on the Internet. It is quite useful to manipulate LAS files and it comes with the las2las executable. I use it to remove the LiDAR points that I do not want and retain the points that I want.

To see how to use this las2las executable, type in the following in a Windows Command Prompt as shown below:
C:\> las2las -h


To remove all points except the LiDAR ground points from a LAS file, you can type in the following in the Windows Command Prompt as shown below.

C:\> las2las -i input.las -o output.las -keep_class 2


where the value 2 is the standar LiDAR classification for ground points


Once I have filtered out the unwanted points, I then run GeoMedia Grid's Import LAS File to Feature Class command, which will run a little faster - because there would be less points to convert than before.

Monday, February 15, 2010

Importing LAS files with GeoMedia Grid 6.1.1

The latest GeoMedia Grid version 6.1.1 comes with a function to import LiDAR data in LAS (*.las) format. With this new function, you will be able to convert LiDAR xyzi points into point geometry features in a read/write warehouse. Once converted into point geometry features, you will then be able to query and manipulate the LiDAR points like any typical GeoMedia feature classes. If you want to generate a digital elevation model (DEM) from the LiDAR points, then you would use the typical GeoMedia Grid workflow to rasterize the points, then interpolate the rasterized points into a surface. I tried out the new command on a small LAS file.

  1. Run GeoMedia and create or connect to a read/write warehouse.

  2. Select Grid | Utilities | LAS Files to Feature Classes as shown below.



    The LAS Files to Feature Class dialog box appears.


  3. Click Add. Browse and select a LAS file e.g. B3.LAS and click Open.

    The LAS Files to Feature Class dialog box is updated with the selected file.


  4. In the Coordinate System file name field, click Browse. Select an appropriate coordinate system file (*.csf) for the LAS file e.g. StatePlane83TexasCentral.csf and click Open.

    The LAS Files to Feature Class is updated with the selected CSF file.

  5. If the Connection is not the right destination, then choose the correct read/write connection from the drop down list.

  6. If necessary, type in the new feature class name in the Feature Class field.

  7. If you want to expose the LAS file name as an attribute in the new feature class, then toggle on Include the name as attribute.

  8. Click OK.

    The status field shows the progress.


    At the end of the conversion, the summary messages appear.

  9. Click Close.

    The LAS file is converted into a GeoMedia feature class.
If you open up a Data Window and display the attribute records of the newly converted LiDAR points, the following fields can be seen (including Filename if the Include Filename as attribute toggle was on during the conversion):


Wednesday, February 10, 2010

Import ArcGrid ASCII files into GeoMedia Grid

ArcGrid ASCII files are convenient to pass data between application software. Before using terrain data in ArcGrid ASCII format files (*.asc, *.agr), they must be imported into GeoMedia Grid's native format raster files (*.mfm) and placed as layers under what is termed a Study Area. I have no idea what .mfm stands for and I could not find any documentation details on the extension name. 

To import an ArcGrid ASCII file, the following steps can be done. 
  1. Run GeoMedia and open up or create a GeoWorkspace with the desired coordinate system and a read/write warehouse connection.

  2. Select Grid | Study Area | Import File(s).

    The Import File(s) dialog box appears.


  3. Click Browse and select an ArcGrid ASCII file e.g. B3.asc.



  4. Click Open.

    The File Type(s) Found dialog box may appear.


  5. Choose ArcGrid ASCII. Click OK.

  6. Click the Coordinate system file Browse button. Choose the appropriate coordinate system file (*.csf) and click Open.

    The Import File(s) dialog box is updated with the selected.

  7. Click Next.

    The selected file is scanned and then the ASC Input data dialog box appears.

  8. Click the X Coordinate and Y Coordinate units drop down list and select the appropriate horizontal units e.g. feet.

  9. In the Cell resolution text field, type in the correct cell spacing e.g. 2.

  10. In the Cell resolution units drop down list, select the correct vertical units e.g. feet.

    At this point, the ASC Input data dialog box may look like this.

  11. Click OK.

    The Import File(s) dialog box appears.


    Note: By default the Study Area name will be Study Area 1. Right click on the name to rename it to something else if necessary.

  12. Click Next.

    The Import File(s) dialog box is updated with statistical information about the file.

  13. Click Finish.

    The ArcGrid ASCII file is imported into GeoMedia Grid and is ready to be used.

Friday, February 5, 2010

GeoMedia Export to Shape File Annoyances

GeoMedia has been able to export features and queries out into ESRI Shape Files for the longest time. Users of ArcGis can be a little miffed if they find out they have to read in shape files created from GeoMedia because the shape files lack .prj files, which contain the coordinate projection information associated with the exported files.

The shape files created by GeoMedia will only have the following files created: .dbf, .shp, and .shx, as shown in the screen shot below. GeoMedia will also create a file with the extension .csf that contains the coordinate system of the exported shape file. However, this is a proprietary file and can only be read using Intergraph software.
When these GeoMedia created shape files are read in ArcMap with the Layer | Add Data command as shown below, ArcGis will not be able to determine the correct coordinate system and the software will pop up a warning message: 



The shape files can be displayed in ArcMap but the coordinates are plain XY coordinates; the units and projection are unknown as highlighted in red below. The shape layers cannot be reprojected to another projection system. 
In order to resolve this problem, ArcGis users will have to create the .prj file by copying over some existing .prj file from perhaps the ArcGis product folder or through some other means. This task can get very tedious if there are a large number of shape files. 
If the shape files have associated .prj files, then ArcMap can read the shape files including the coordinate system defined in the .prj file successfully, as shown in the figure below. Note the projection information highlighted in red. 
I have heard from Intergraph that the next version of GeoMedia will be able to generate the .prj file when exporting out the shape files. I hope this will come to pass.

Wednesday, February 3, 2010

Create donut polygons in Global Mapper

Global Mapper has a neat function to create donut polygons. It can be useful if you have some islands in closed water bodies like lakes and you need to retain the island polygons while cutting out holes from the enclosing water body polygons. Here's how to use the function.
  1. Run Global Mapper and display or digitize a water body polygon.


  2. Press ALT+D or click the Digitizer Tool icon. Then click the Create New Area Feature  icon.

    The cursor changes to an arrow with the label Area.
  3. Click on the map view to place an island polygon.Right click to complete.

    The Modify Feature Info dialog box appears.

  4. Change the Feature Type to island if needed. Change the Feature Layer if necessary. Click OK.

    The island polygon is created.
  5. Press ALT+D or click the Digitizer Tool  icon.

    The cursor changes to a cross hair with the label Edit.
  6. Click on the newly created island polygon.

    The island polygon is selected.

  7. Right click anywhere on the map view.

    A pop up menu appears.

  8. Choose Cut Selected Area(s) from Another Area (Add Islands).

    The cursor changes to an arrow with the label Parent.
     
  9. Click on the enclosing water body polygon.

    The message below appears.

  10. Click Yes.

    Note: If you want to keep the island polygon as a separate feature, then click No. Otherwise, if you click Yes, the command will delete the island polygon after cutting out the donut hole.

    The donut polygon is created.

Monday, February 1, 2010

Global Mapper's Find Unconnected Line End Points Command


Global Mapper has a basic function to find unconnected line end points. It is an interactive function, where you can choose to graphically select the line features to check. This is useful for a quick validation of the line vectors you have digitized. If you want to find unconnected line end points in batch, you have to use other software like FME.
Here are the general steps to use the Find Unconnected End Points command:
  1. In Global Mapper, digitize some line vectors as shown below.


  2. Click the Digitizer Tool  icon on the toolbar.

    The cursor changes to a cross hair with the label Edit.

  3. Drag a box to select one or more line vectors.

    The line vectors are selected and highlighted in red.

  4. Right click anywhere in the map window.

    A pop up menu appears.


  5. Choose Find Unconnected Line Endpoints.

    The Find Unconnected Endpoint Options dialog box appears.


    Note: if you want the function to find only those nearly snapping endpoints, then toggle on Find Unconnected Endpoints with Another Line Endpoint Nearby and type in a tolerance.

  6. Click OK.

    A status message appears.


  7. Click OK.

    The unconnected end points are displayed as blue circles.


  8. Zoom in. Press CTRL+N to scroll through the unconnected end points one by one.