Closed yakra closed 6 years ago
unsigned int RecordNum = ((unsigned int)DBF.tellg()-HeaderLength)/RecordLength+1; 811 = (DBF.tellg()-545)/114+1 810 = (DBF.tellg()-545)/114 810*114 = DBF.tellg()-545 92340 = DBF.tellg()-545 92885 = DBF.tellg() 0x16AD5 = DBF.tellg() Looks good so far.
561 SHX.seekg(8*(RecordNum-1)+100);
--> SHX.seekg(8*810+100);
--> SHX.seekg(6580);
// 0x19B4
305408 2 = 610816
SHP file at this offset says Record Number = 811.
Content Length = 0x68 (104), same as in SHX file. So far so good.
Annnd...* Shape Type = 0x17 (23): PolylineM (page 16)
Turns the SHA_LINE_ROUTES_MD_2015 data is saved with integers, not floats. :) No problem, though...
Should be fine to add: points array starts at byte 44 of record, with preceding info being the same. Types that should also be OK: 5 Polygon 13 PolylineZ 15 PolygonZ 23 PolylineM 25 PolygonM
Support for the above shape types added, 20171118c. Successful test on a PolylineZ record:
#################
#_Basic_options_#
#################
InputFile foo.wpt
ShapeRoot /home/yakra/gis/data/ak/ak_nad83/ak_nad83
KeyField OBJECTID
KeyValue 553
####################
#_Advanced_options_#
####################
JctSnap OFF
SegDump ON
Successful test on a Polygon record:
#################
#_Basic_options_#
#################
InputFile foo.wpt
ShapeRoot /home/yakra/gis/data/md/Maryland_Physical_Boundaries__County_Boundaries_Detailed/Maryland_Physical_Boundaries__County_Boundaries_Detailed
KeyField COUNTYNUM
KeyValue 24
####################
#_Advanced_options_#
####################
JctSnap OFF
SegDump ON
splunge.ini:
terminal: