YYCseismic has asked for the wisdom of the Perl Monks concerning the following question:
I'm still rather new to Perl, and have been learning it as a requirement for maintaining a program at work. The program is used to load physical survey information (x,y,z coordinates) for seismic lines, allowing the option to write to a file afterwards. Each survey file (SEG-P1 format, for those who might know what this is) may contain data for multiple seismic lines.
My current plan is to store (x,y,z) information in a hash of hashes, and I'm curious if anyone has a better idea for storing these data.
The data model and implementation as I see it look something like this:
From what I understand, the coordinates would then be accessed as (for example)Line --+ | +-- Station | | | +---- Easting (x) | +---- Northing (y) | +---- Elevation (z) | +-- Length | +-- Group (Stn) Interval %Coord = ( $Line_1 => { stn_1 => coord_1, stn_2 => coord_2, stn_3 => coord_3, ... ... ... stn_n => coord_n, }, $Line_2 => { stn_1 => coord_1, stn_2 => coord_2, stn_3 => coord_3, ... ... ... stn_n => coord_n, }, # And so-on to $Line_n );
$Easting{$Line}{$Station}
Does this look like a reasonable model/implementation?
Is there an easier, more efficient way to do this?
I got the idea for the hash of hashes by googling Perl Data Structures, and found the data structures cookbook by Tom Christiansen, which discusses just these topics.