parameters: (self, i=None)
docstring: Returns the offset in a .shp file for a shape based on information
          in the .shx index file.
docstring_summary: Returns the offset in a .shp file for a shape based on information
          in the .shx index file.
docstring_tokens: Returns the offset in a . shp file for a shape based on information in the . shx index file .
function: def __shapeIndex(self, i=None):
          """Returns the offset in a .shp file for a shape based on information
          in the .shx index file."""
          shx = self.shx
          if not shx:
              return None
          if not self._offsets:
              # File length (16-bit word * 2 = bytes) - header length
              shx.seek(24)
              shxRecordLength = (unpack(">i", shx.read(4))[0] * 2) - 100
              numRecords = shxRecordLength // 8
              # Jump to the first record.
              shx.seek(100)
              for r in range(numRecords):
                  # Offsets are 16-bit words just like the file length
                  self._offsets.append(unpack(">i", shx.read(4))[0] * 2)
                  shx.seek(shx.tell() + 4)
          if not i is None:
              return self._offsets[i]
function_tokens: def __shapeIndex ( self , i = None ) : shx = self . shx if not shx : return None if not self . _offsets : # File length (16-bit word * 2 = bytes) - header length shx . seek ( 24 ) shxRecordLength = ( unpack ( ">i" , shx . read ( 4 ) ) [ 0 ] * 2 ) - 100 numRecords = shxRecordLength // 8 # Jump to the first record. shx . seek ( 100 ) for r in range ( numRecords ) : # Offsets are 16-bit words just like the file length self . _offsets . append ( unpack ( ">i" , shx . read ( 4 ) ) [ 0 ] * 2 ) shx . seek ( shx . tell ( ) + 4 ) if not i is None : return self . _offsets [ i ]