MCPcopy Create free account
hub / github.com/OSGeo/PROJ / compute_publication_date

Function compute_publication_date

scripts/build_db.py:181–208  ·  view source on GitHub ↗
(datum_code, datum_name, frame_reference_epoch, publication_date)

Source from the content-addressed store, hash-verified

179
180
181def compute_publication_date(datum_code, datum_name, frame_reference_epoch, publication_date):
182 if frame_reference_epoch is not None:
183 epoch = float(frame_reference_epoch)
184 fractional = epoch - int(epoch)
185 if fractional == 0:
186 publication_date = '%04d-01-01' % int(epoch)
187 elif abs(fractional - 0.4) < 1e-6:
188 publication_date = '%04d-05-01' % int(epoch)
189 elif abs(fractional - 0.5) < 1e-6:
190 publication_date = '%04d-07-01' % int(epoch)
191 else:
192 assert False, (datum_code, datum_name, frame_reference_epoch, fractional)
193 elif publication_date != '':
194 if len(publication_date) == 4:
195 publication_date += '-01-01'
196 elif len(publication_date) == 7:
197 publication_date += '-01'
198 elif len(publication_date) == 4+1+4:
199 m = re.search('([0-9]{4})-([0-9]{4})', publication_date)
200 if m:
201 publication_date = m.group(1)
202 else:
203 assert False, (datum_code, datum_name, publication_date)
204 else:
205 assert len(publication_date) == 10, (datum_code, datum_name, publication_date)
206 else:
207 publication_date = None
208 return publication_date
209
210
211def fill_geodetic_datum(proj_db_cursor):

Callers 3

fill_geodetic_datumFunction · 0.85
fill_vertical_datumFunction · 0.85
fill_engineering_datumFunction · 0.85

Calls 1

searchMethod · 0.80

Tested by

no test coverage detected