Posts

Showing posts from January, 2012

How to input LIDAR data in ArcGIS

Image
While I have been so problematic before how to resample my billions of points to have it visualized in 3D and further perform analysis over it, I found out that ArcGIS would be the best solution. The usual discretization is performed on my data, I scraped out all the noisy points by limiting my range to 5cm o 100m. Now I added another criterion, that is to remove all points below my LIDAR setup. That is to consider theta(horizontal FOV)<90 and theta >270 degrees. That in a way reduced my point cloud into almost 30% of the original. Memory-wise, it was a LUXURY already! Now for checking the irregularities in the observed point cloud, using the Point File Information Tool is by far the best solution. Using ArcGIS 10.0: 1. Go to 3D analayst tools>Conversion>From File> Point File Information. 2. You will be opt to browse lidar point cloud by File or by Folder. (I suggest that you browse by Folder if you've got more than 10 files.) 3. Now you will be opt for the f

Some Matlab scripting and coordinate axes glitches on my codes

Image
I had some problems using my previous Matlab script on generating the converted latitude, longitude and height from the ECEF -X,Y,Z coordinates. for k = 1:5     matFilename = sprintf('%d.csv', k);     M = ecef2lla(textread(matFilename));     dlmwrite('sample.xyz',M, '-append'); end What happens right here is that it writes formatted values of the latitude, longitude and height formatted in three columsn but in 5 significant digits only hence creating duplicated coordinates which scraped up most of my values in the sample.xyz. It took me the whole long weekend to figure out how to improve the results, I know it's on the formatting only and  not on the predefined classes per se.  As I've always been familiar with the %3.2f tag for specifying the decimal places in a float, I have been trying all the way to fit in my argument but to no avail. I'm almost giving up on using the "dlmwrite" function and tried using the "fprintf&q

Minimizing my lidar velodyne point cloud

Image
I think I should be reminding myself how I did the timestamping of the point cloud data with that of the GPS. Here are the seemingly easy steps. I converted the GPS data from geographic lat, long, ht to an ECEF(Earth-centered-earth-fixed) cartesian coordinate system using this formula: The reason for conversion into cartesian is so that I can easily do the translation from our velodyne device to the GPS antenna. I used the WGS84 reference ellipsoid parameters for conversion.   a  = 6,378,137 m , 1/f=  6,356,752.3142  Now after I got all my coordinates in X, Y, Z, I matched the timestamps in the LIDAR packets as that of the timestamp provided by the GPS. I then performed some translation based on the structure of the vehicle mount that we have fabricated for the fieldwork. Now my data is in X,Y,Z and ready for plotting in a point cloud software. When I'm finally down with the timestamping of the LIDAR with GPS, I am now overwhelmed by the number of points generated from pcap

What's keeping me so busy right now?

Image
Lately I haven't had much time updating all my blogs because I'm currently dealing with some LIDAR data for my graduate thesis. I am quite bittered of the fact that really, this is more of a programming than analysis thing. I am more burdened of learning a new programming language or more so 'languages' just to be able to get meaningful results out of my raw data. I have been inspired by another blog to just chronicle all my findings and queries so I can help others and so others may be able to help me too. Also I guess this would be a good documentation for my future write ups for my methodologies. So to start with. I am using a HDL-32E Velodyne LIDAR. It's a laser rangefinder that uses 32 lasers cupped inside a TIN-CAN-SIZED enclosure that's set to generate approximately 700,000 points per second. I have actually found quite a number of resources even codes about Velodyne LIDAR but it's on the HDL-64E and so porting the codes to the 32E is quite dang