Folks: Mainly, what I was wondering is if the byteToNum command is the correct one. In images, its the convert character to number, but I thought the character commands for binary data were going to be deprecated.
Thanks, Bill William Prothero http://es.earthednet.org On Mar 12, 2014, at 4:55 PM, proth...@earthednet.org wrote: > Folks: > Before I bang my head against the wall too much, I'd like to make sure I'm > approaching this task correctly. > I have a digital elevation file consisting of 16 bit 2's complement data. I > first determine the position of the data for the desired location, then I do > a binary read. > > put getAFilePath("files/dems/") into fPath > put fPath&"ETOPO5.DAT" into theFile > open file theFile for binary read > if the result <> empty then > answer "Couldn't open DEM file" > exit readDemTest > end if > > --Then i calculate the byte position where the data should be, then read it > using: > read from file theFile at thePos for 8 --read 8 chars beginning at > thePos (I should only need 2 to get the value) > put it into theDepths > put byteToNum(byte 1 of theDepths) into b1 > put byteToNum(byte 2 of theDepths) into b2 > > --Then, because I don't remember the byte order, I'm trying each one to see > which gives me sensible results > --It should have a sign bit, so only 7 bits of the most significant byte > should count, and the first one is the sign bit. > > if b1 > 127 then --sign is negative. numbers from 128 to 255 should be > negative > put -256+b1 into msb > put 256*msb - b2 into depth1 > else --sign is positive > put b1 into msb > put 256*msb + b2 into depth1 > end if > --try the other way > if b2 > 127 then > put -256+b2 into msb > put 256*msb - b1 into depth2 > else > put b2 into msb > put 256*msb + b1 into depth2 > end if > > What I'm wondering before I spend more time on this, is whether the livecode > commands are the correct ones for this. I have old C code that does some of > the same processing, but I can't run it now to test. > > Thanks, > Bill > > William Prothero > http://es.earthednet.org > > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode