From 6c850f50c89c3df1f29d3e61284157c45891310b Mon Sep 17 00:00:00 2001 From: Lionel GUEZ <guez@lmd.ens.fr> Date: Sat, 3 Apr 2021 00:55:28 +0200 Subject: [PATCH] Bug fix: convert polyline to list Method poly of shapefile writer requires a list of lists, not a list of numpy arrays. This bug goes unnoticed in pyshp `2.1.0` but raises an exception with pyshp `2.1.3`. --- Convert_Matlab/inst_eddies_HDF5.py | 4 ++-- Convert_Matlab/inst_eddies_v6.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Convert_Matlab/inst_eddies_HDF5.py b/Convert_Matlab/inst_eddies_HDF5.py index f2f73939..b46a962e 100755 --- a/Convert_Matlab/inst_eddies_HDF5.py +++ b/Convert_Matlab/inst_eddies_HDF5.py @@ -67,7 +67,7 @@ def write(writers, cell, cyclone): eddy_index = eddy_index) lon = matlab_data[eddy[4]][:].squeeze() lat = matlab_data[eddy[5]][:].squeeze() - polyline = np.stack((lon, lat), axis = 1) + polyline = np.stack((lon, lat), axis = 1).tolist() writers["outer"].poly([polyline]) if cyclone: @@ -81,7 +81,7 @@ def write(writers, cell, cyclone): eddy_index = eddy_index) lon = matlab_data[eddy[8]][:].squeeze() lat = matlab_data[eddy[9]][:].squeeze() - polyline = np.stack((lon, lat), axis = 1) + polyline = np.stack((lon, lat), axis = 1).tolist() writers["max_speed"].poly([polyline]) n_shapes = len(writers["extr"]) diff --git a/Convert_Matlab/inst_eddies_v6.py b/Convert_Matlab/inst_eddies_v6.py index cf7bed78..46fdd6d9 100755 --- a/Convert_Matlab/inst_eddies_v6.py +++ b/Convert_Matlab/inst_eddies_v6.py @@ -77,7 +77,7 @@ def write(writers, cell, cyclone): writers["outer"].record(r_eq_area = eddy[6], ssh = ssh, days_1950 = d, eddy_index = eddy_index) - polyline = np.stack((eddy[4], eddy[5]), axis = 1) + polyline = np.stack((eddy[4], eddy[5]), axis = 1).tolist() writers["outer"].poly([polyline]) if cyclone: @@ -87,7 +87,7 @@ def write(writers, cell, cyclone): writers["max_speed"].record(r_eq_area = eddy[10], ssh = ssh, days_1950 = d, eddy_index = eddy_index) - polyline = np.stack((eddy[8], eddy[9]), axis = 1) + polyline = np.stack((eddy[8], eddy[9]), axis = 1).tolist() writers["max_speed"].poly([polyline]) n_shapes = len(writers["extr"]) -- GitLab