Hi Daniel, Thanks for this info.
I think there is a small error here. The first bit seems to indicate some other information, but I'm not sure what. Whenever you have >0x80 in your table, you should subtract 0x80. You may be allocating too much space when creating MAP files. I have created a small application to write the ID file from the MAP file and it will only work correctly if I clear the first bit of the bytes I read from the header in the MAP file. Regards Uffe Kousgaard ----- Original Message ----- From: "Daniel Morissette" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Monday, November 19, 2007 3:20 PM Subject: Re: [mitab] source code question > Uffe Kousgaard wrote: >> This is a question about the object defintion blocks in the MAP file >> (block >> 2). Where can I find the size of each Object Definition data in the >> source >> code? >> >> In this document (http://www.routeware.dk/notes.html#bl2) it is described >> for the most common objects such as a shortpoint (type 1) which has >> length >> &H0A = 10 bytes. But more object types has been added after the document >> was >> written, such as collections and polygons / polylines with many sections >> or >> nodes. >> > > The .MAP header block starts with an array of sizes for each object type. > > mitab_mapheaderblock.cpp contains a copy of that array which is used to > create new files: > > /*--------------------------------------------------------------------- > * The header block starts with an array of map object lenght constants. > *--------------------------------------------------------------------*/ > #define HDR_OBJ_LEN_ARRAY_SIZE 58 > static GByte gabyObjLenArray[ HDR_OBJ_LEN_ARRAY_SIZE ] = { > 0x00,0x0a,0x0e,0x15,0x0e,0x16,0x1b,0xa2, > 0xa6,0xab,0x1a,0x2a,0x2f,0xa5,0xa9,0xb5, > 0xa7,0xb5,0xd9,0x0f,0x17,0x23,0x13,0x1f, > 0x2b,0x0f,0x17,0x23,0x4f,0x57,0x63,0x9c, > 0xa4,0xa9,0xa0,0xa8,0xad,0xa4,0xa8,0xad, > 0x16,0x1a,0x39,0x0d,0x11,0x37,0xa5,0xa9, > 0xb5,0xa4,0xa8,0xad,0xb2,0xb6,0xdc,0xbd, > 0xbd,0xf4 }; > > > To get the size of more recent objects, you could dump the binary > contents of a recent .MAP file, that array starts at the beginning of > the file. > > Daniel > -- > Daniel Morissette > http://www.mapgears.com/ > > > > Yahoo! Groups Links > > > Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/mitab/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/mitab/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
