Invalid points in shapefile IBTrACS.ALL.list.v04r00.lines.shp

61 views
Skip to first unread message

Julian O'grady

unread,
Jul 7, 2021, 8:12:16 PM7/7/21
to IBTrACS Q&A
Hi,
I'm loving the BTrACS shapefile format. Unfortunately it has some invalid spatial-lines. The start and end point of the invalid geometry appear to be exactly the same point.

For example in R
TCs <- raster::shapefile(paste0(TCdir,"IBTrACS.ALL.list.v04r00.lines.shp")) #very slow!
invalidLines = which(!rgeos::gIsValid(TCs,byid=TRUE) )
TCs[invalidLines[1],]
class       : SpatialLinesDataFrame 
features    : 1 
extent      : -73.5, -73.5, 32.5, 32.5  (xmin, xmax, ymin, ymax)
crs         : +proj=longlat +datum=WGS84 +no_defs 
variables   : 168
names       :           SID, SEASON, NUMBER, BASIN, SUBBASIN,      NAME,            ISO_TIME, NATURE,  LAT,   LON, WMO_WIND, WMO_PRES, WMO_AGENCY, TRACK_TYPE, DIST2LAND, ... 
value       : 1851256N33287,   1851,     15,    NA,       NA, NOT_NAMED, 1851-09-13 00:00:00,     TS, 32.5, -73.5,       50,       NA, hurdat_atl,       main,       370, ... 
> raster::geom(TCs[invalidLines[1],])
     object part cump     x    y
[1,]      1    1    1 -73.5 32.5
[2,]      1    1    1 -73.5 32.5
 
QGIS analysis (also ueses geos) below.

What should I do with these lines? Drop them? move the geometry of the second point very slightly?
Cheers,
Julian
     
shp_error_IBTrACSv4.png

QGIS version: 3.16.4-Hannover

QGIS code revision: 654e76b3cb

Qt version: 5.11.2

GDAL version: 3.1.4

GEOS version: 3.8.1-CAPI-1.13.3

PROJ version: Rel. 6.3.2, May 1st, 2020

Processing algorithm…

Algorithm 'Check validity' starting…

Input parameters:

{ 'ERROR_OUTPUT' : 'TEMPORARY_OUTPUT', 'IGNORE_RING_SELF_INTERSECTION' : False, 'INPUT_LAYER' : 'Z:\\work\\archive\\IBTRACS\\IBTrACS.ALL.list.v04r00.lines\\IBTrACS.ALL.list.v04r00.lines.shp', 'INVALID_OUTPUT' : 'TEMPORARY_OUTPUT', 'METHOD' : 2, 'VALID_OUTPUT' : 'TEMPORARY_OUTPUT' }


Execution completed in 243.89 seconds

Results:

{'ERROR_COUNT': 1258,
'ERROR_OUTPUT': 'Error_output_1050ed76_8d36_4373_ac9b_2028ad2d89a0',
'INVALID_COUNT': 1258,
'INVALID_OUTPUT': 'Invalid_output_bc18a5e3_c239_4011_926f_d4b680bf19f1',
'VALID_COUNT': 684065,
'VALID_OUTPUT': 'Valid_output_669cbbc5_48eb_480e_ab05_315a953afd72'}


Loading resulting layers

Algorithm 'Check validity' finished

Reply all
Reply to author
Forward
0 new messages