kopia lustrzana https://github.com/n1ywb/python-hamtools
change some stuff for log2map; could break something else I duno
rodzic
d55a3f3085
commit
cda2df32c0
|
@ -74,6 +74,7 @@ class Log(object):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def from_adif(logfile):
|
def from_adif(logfile):
|
||||||
|
# TODO check for invalid ADIF file
|
||||||
self = Log()
|
self = Log()
|
||||||
log = adif.Reader(logfile)
|
log = adif.Reader(logfile)
|
||||||
for qso in log:
|
for qso in log:
|
||||||
|
@ -126,25 +127,35 @@ class Log(object):
|
||||||
qso['lon'] = float(dxcc['lon']) * -1
|
qso['lon'] = float(dxcc['lon']) * -1
|
||||||
except Exception:
|
except Exception:
|
||||||
log.warning("cty.dat lookup failed for %s" % qso['call'], exc_info=True)
|
log.warning("cty.dat lookup failed for %s" % qso['call'], exc_info=True)
|
||||||
raise
|
|
||||||
|
|
||||||
def geojson_dumps(self, *args, **kwargs):
|
def geojson_dumps(self, *args, **kwargs):
|
||||||
|
pointsFC, linesFC = self.geojson()
|
||||||
|
|
||||||
|
strings = (
|
||||||
|
gj.dumps(pointsFC, *args, **kwargs),
|
||||||
|
gj.dumps(linesFC, *args, **kwargs),
|
||||||
|
)
|
||||||
|
return strings
|
||||||
|
|
||||||
|
def geojson(self):
|
||||||
points = []
|
points = []
|
||||||
lines = []
|
lines = []
|
||||||
for qso in self.qsos:
|
for qso in self.qsos:
|
||||||
point = gj.Point((qso['lon'], qso['lat']))
|
point, line = None, None
|
||||||
|
coords = qso['lon'], qso['lat']
|
||||||
|
if None not in coords:
|
||||||
|
point = gj.Point(coords)
|
||||||
|
line = gj.LineString([
|
||||||
|
(self.lon, self.lat),
|
||||||
|
coords
|
||||||
|
])
|
||||||
points.append(gj.Feature(geometry=point,
|
points.append(gj.Feature(geometry=point,
|
||||||
properties=qso))
|
properties=qso))
|
||||||
line = gj.LineString([
|
|
||||||
(self.lon, self.lat),
|
|
||||||
(qso['lon'], qso['lat'])
|
|
||||||
])
|
|
||||||
lines.append(gj.Feature(geometry=line,
|
lines.append(gj.Feature(geometry=line,
|
||||||
properties=qso))
|
properties=qso))
|
||||||
return (
|
pointsFC = gj.FeatureCollection(points)
|
||||||
gj.dumps(gj.FeatureCollection(points), *args, **kwargs),
|
linesFC = gj.FeatureCollection(lines)
|
||||||
gj.dumps(gj.FeatureCollection(lines), *args, **kwargs),
|
return pointsFC, linesFC
|
||||||
)
|
|
||||||
|
|
||||||
def write_kml(self, file):
|
def write_kml(self, file):
|
||||||
dom = kml.KML()
|
dom = kml.KML()
|
||||||
|
|
Ładowanie…
Reference in New Issue