@@ -355,11 +355,14 @@ def cf_to_lines(ds: xr.Dataset):
355
355
# be included in that object.
356
356
maxes = np .cumsum (part_node_count )
357
357
mins = np .insert (maxes [:- 1 ], 0 , 0 )
358
- dummy = np .broadcast_to (np .cumsum (node_count ), (len (part_node_count ), len (node_count )))
358
+ dummy = np .broadcast_to (
359
+ np .cumsum (node_count ), (len (part_node_count ), len (node_count ))
360
+ )
359
361
is_multi = np .where (
360
- (dummy <= np .expand_dims (maxes , axis = 1 )) & (dummy > np .expand_dims (mins , axis = 1 )),
362
+ (dummy <= np .expand_dims (maxes , axis = 1 ))
363
+ & (dummy > np .expand_dims (mins , axis = 1 )),
361
364
np .ones_like (dummy ),
362
- np .zeros_like (dummy )
365
+ np .zeros_like (dummy ),
363
366
)
364
367
365
368
# create multilinestrings for each set of lines. Note that we create multiline strings
@@ -369,7 +372,9 @@ def cf_to_lines(ds: xr.Dataset):
369
372
370
373
# construct the final geometry by pulling items from the lines or multilines based on
371
374
# the number of lines that are mapped to each object.
372
- _ , index , counts = np .unique (multiline_indices , return_counts = True , return_index = True )
375
+ _ , index , counts = np .unique (
376
+ multiline_indices , return_counts = True , return_index = True
377
+ )
373
378
geoms = np .where (counts == 1 , np .array (lines [index ]), multilines )
374
379
375
380
return xr .DataArray (geoms , dims = part_node_count .dims , coords = part_node_count .coords )
0 commit comments