1. A method of locating a machine-readable symbol representing encoded information, the symbol including a plurality of selectively spaced two-dimensional geometric shapes, the symbol having a predetermined orientation pattern of at least two elongated shapes or spaces, the method comprising: storing an image of the symbol; dividing the stored image into a plurality of analysis regions; sampling at least two regions along a plurality of sampling paths in each region, wherein the plurality of sampling paths begin from a selected point in each region and end at approximately a boundary of region; locating an edge point; analyzing an area adjacent to the edge point to locate a first elongated edge; locating the first elongated edge based on the sampled linear sampling paths; determining if the located first elongated edge is an edge of one of the elongated shapes or spaces; identifying a second elongated edge of another of the elongated shapes or spaces; and defining a position and orientation of the image of the symbol based on the located first elongated edge and the identified second elongated edge.