perlquestion
YYCseismic
<p>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.</p>
<p>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.</p>
<p>The data model and implementation as I see it look something like this:
<code>
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
);
</code>
From what I understand, the coordinates would then be accessed as (for example)
<code>
$Easting{$Line}{$Station}
</code>
</p>
<p>Does this look like a reasonable model/implementation?</p>
<p>Is there an easier, more efficient way to do this?</p>
<p>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.</p>