@@ -74,22 +74,26 @@ def group_input_geometries(input_geometries_file, group_size):
7474 groups [group_id_string ]["feature_geometries" ].append (
7575 json .loads (feature .GetGeometryRef ().ExportToJson ())
7676 )
77- try :
78- center_x = feature .GetFieldAsDouble ("center_x" )
79- center_y = feature .GetFieldAsDouble ("center_y" )
80- groups [group_id_string ]["center_points" ].append ([center_x , center_y ])
81- except : # noqa
77+
78+ # from gdal documentation GetFieldAsDouble():
79+ # OFTInteger fields will be cast to double.
80+ # Other field types, or errors will result in a return value of zero.
81+ center_x = feature .GetFieldAsDouble ("center_x" )
82+ center_y = feature .GetFieldAsDouble ("center_y" )
83+
84+ # check if center attribute has been provided in geojson
85+ # normal tasks will never have a center of 0.0, 0.0
86+ # this is just in the middle of the ocean
87+ if (center_x == 0.0 ) and (center_y == 0.0 ):
8288 groups [group_id_string ]["center_points" ].append (None )
89+ else :
90+ groups [group_id_string ]["center_points" ].append ([center_x , center_y ])
8391
8492 # this is relevant for the tutorial
85- try :
86- reference = feature .GetFieldAsDouble ("reference" )
87- screen = feature .GetFieldAsDouble ("screen" )
88- groups [group_id_string ]["reference" ].append (reference )
89- groups [group_id_string ]["screen" ].append (screen )
90- except : # noqa
91- groups [group_id_string ]["reference" ].append (None )
92- groups [group_id_string ]["screen" ].append (None )
93+ reference = feature .GetFieldAsDouble ("reference" )
94+ screen = feature .GetFieldAsDouble ("screen" )
95+ groups [group_id_string ]["reference" ].append (reference )
96+ groups [group_id_string ]["screen" ].append (screen )
9397
9498 return groups
9599
0 commit comments