你已经派生过 gpr-sidl-inv
镜像自地址
https://gitee.com/sduem/gpr-sidl-inv.git
已同步 2025-08-03 10:56:50 +08:00
108 行
2.6 KiB
Python
108 行
2.6 KiB
Python
import pytz
|
|
|
|
"""
|
|
This module contains a number of variables that readgssi needs to perform physics calculations and interpret files from DZT files.
|
|
"""
|
|
|
|
MINHEADSIZE = 1024 # absolute minimum total header size
|
|
PAREASIZE = 128 # fixed info header size
|
|
RGPSSIZE = 9 # GPS record size
|
|
GPSAREASIZE = RGPSSIZE * 2
|
|
INFOAREASIZE = MINHEADSIZE - PAREASIZE - GPSAREASIZE
|
|
|
|
TZ = pytz.timezone('UTC')
|
|
|
|
# some physical constants for Maxwell's equation for speed of light in a dielectric medium
|
|
C = 299792458 # speed of light in a vacuum
|
|
Eps_0 = 8.8541878 * 10**(-12) # epsilon naught (vacuum permittivity)
|
|
Mu_0 = 1.257 * 10**(-6) # mu naught (vacuum permeability)
|
|
|
|
|
|
# the GSSI field unit used
|
|
UNIT = {
|
|
0: 'synthetic/gprMax',
|
|
1: 'unknown system type',
|
|
2: 'SIR 2000',
|
|
3: 'SIR 3000',
|
|
4: 'TerraVision',
|
|
6: 'SIR 20',
|
|
7: 'StructureScan Mini',
|
|
8: 'SIR 4000',
|
|
9: 'SIR 30',
|
|
10: 'unknown system type',
|
|
11: 'unknown system type',
|
|
12: 'UtilityScan DF',
|
|
13: 'HS',
|
|
14: 'StructureScan Mini XT',
|
|
}
|
|
|
|
# a dictionary of standard gssi antenna codes and frequencies
|
|
# unsure of what they all look like in code, however
|
|
ANT = {
|
|
'100MHz': 100,
|
|
'200MHz': 200,
|
|
'270MHz': 270,
|
|
'300/800D': 300, # technically two separate antennas and therefore, I think, a bug. users of this antenna will have to use `-a 300,800`
|
|
'350MHz': 350,
|
|
'400MHz': 400,
|
|
'500MHz': 500,
|
|
'800MHz': 800,
|
|
'900MHz': 900,
|
|
'1.5/1.6GHz': 1500,
|
|
'1600MHz': 1600,
|
|
'2000MHz': 2000,
|
|
'2300MHz': 2300,
|
|
'2600MHz': 2600,
|
|
'3200': 'adjustable',
|
|
'3200MLF': 'adjustable',
|
|
'gprMa': 'adjustable', # gprMax support
|
|
'GSSI': 'adjustable', # support for issue #11
|
|
'CUSTOM': 'adjustable',
|
|
'3207': 100,
|
|
'3207AP': 100,
|
|
'5106': 200,
|
|
'5106A': 200,
|
|
'50300': 300,
|
|
'350': 350,
|
|
'350HS': 350,
|
|
'D400HS': 350,
|
|
'50270': 270,
|
|
'50270S': 270,
|
|
'D50300': 300,
|
|
'5103': 400,
|
|
'5103A': 400,
|
|
'50400': 400,
|
|
'50400S': 400,
|
|
'3102 500MHZ': 500,
|
|
'3102': 500, # presumed to exist
|
|
'800': 800,
|
|
'D50800': 800,
|
|
'3101': 900,
|
|
'3101A': 900,
|
|
'51600': 1600,
|
|
'51600S': 1600,
|
|
'SS MINI': 1600,
|
|
'4105NR': 2000,
|
|
'42000S': 2000,
|
|
'62000': 2000,
|
|
'62000-003': 2000,
|
|
'62300': 2300,
|
|
'62300XT': 2300,
|
|
'52600': 2600,
|
|
'52600S': 2600,
|
|
'SSMINIXT': 2700,
|
|
}
|
|
|
|
# whether or not the file is GPS-enabled (does not guarantee presence of GPS data in file)
|
|
GPS = {
|
|
1: 'no',
|
|
2: 'yes',
|
|
}
|
|
|
|
# bits per data word in radar array
|
|
BPS = {
|
|
8: '8 unsigned',
|
|
16: '16 unsigned',
|
|
32: '32 signed'
|
|
}
|