commit b515e40435efda7cfddb8d68b1c4318c0b947bad (tree)
parent 2fbbc78233c4b2787cac838ede2e5cfb199e3dca
Author: Motiejus Jakštys <desired.mta@gmail.com>
Date: Fri, 22 May 2020 10:03:07 +0300
successfully export to png
Diffstat:
2 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/II/Referatas/layer2img.py b/II/Referatas/layer2img.py
@@ -0,0 +1,40 @@
+#!/usr/bin/python3
+# https://gis.stackexchange.com/questions/131716/plot-shapefile-with-matplotlib
+
+import argparse
+import geopandas
+import matplotlib.pyplot as plt
+
+INCH = 25.4 # mm
+
+def plt_size(string):
+ if not string:
+ return None
+ try:
+ w, h = string.split("x")
+ return float(w) / INCH, float(h) / INCH
+ except Exception as e:
+ raise argparse.ArgumentTypeError from e
+
+def parse_args():
+ parser = argparse.ArgumentParser(description='Convert layer to an image')
+ parser.add_argument('infile', type=str)
+ parser.add_argument('layer', type=str)
+ parser.add_argument('-o', '--output', metavar='<file>', type=str)
+ parser.add_argument('--size', type=plt_size, help='Figure size in mm (WWxHH)')
+ return parser.parse_args()
+
+def main():
+ args = parse_args()
+ f = geopandas.read_file(args.infile)
+ f.plot(figsize=args.size)
+ plt.axis('off')
+ plt.margins(0, 0)
+ plt.tight_layout(0)
+ if args.output:
+ plt.savefig(args.output, bbox_inches=0, dpi=300)
+ else:
+ plt.show()
+
+if __name__ == '__main__':
+ main()
diff --git a/II/Referatas/layer2pdf.py b/II/Referatas/layer2pdf.py
@@ -1,16 +0,0 @@
-#!/usr/bin/python3
-# https://gis.stackexchange.com/questions/131716/plot-shapefile-with-matplotlib
-
-import argparse
-import fiona
-import matplotlib.pyplot as plt
-
-def main():
- parser = argparse.ArgumentParser(description='Convert layer to a nice PDF')
- parser.add_argument('infile', type=argparse.FileType('r'))
- parser.add_argument('layer', type=str)
- parser.add_argument('-o', metavar='OUTFILE', type=argparse.FileType('w'))
- args = parser.parse_args()
-
-if __name__ == '__main__':
- main()