A positioning system including - a database that associates, with visually identifiable unique objects in a working environment, position information comprising coordinates within an associated coordinate system; - one or more cameras (108, 300) of unknown positions, movements, or both within the environment, the one or more cameras (108, 300) taking one or more images of the environment from respective positions and comprising a given camera; and - a processing subsystem for identifying unique objects within one or more of the images taken by the given camera, the processing subsystem including one or more processors (200, 202), wherein each of the one or more cameras (108, 300) has known internal characteristics which comprise at least a lens distortion, characterized in that the processing subsystem is adapted for - entering the database to determine if at least three unique objects that are identified within the one or more images taken by the given camera match entries in the database and to extract position information associated with the at least three identified unique objects that match entries in the database; - determining the position and the orientation of the given camera in the environment based on the retrieved position information for the at least three identified unique objects; - identifying new unique objects in the one or more images taken by the one or more cameras (108, 300); - determining whether new position information for the at least three identified unique objects is available that is more precise, particularly wherein new position information is more precise that is based on recently available GNSS position information from an associated GNSS receiver, and/or determined using information from a greater number of images; - updating the database to include information relating to the newly identified unique objects, including the position information for the newly identified objects as determined from the images taken by the one or more cameras (108, 300), and, if available, the more precise position information for the at least three identified unique objects, wherein, if fewer than three unique objects that are identified within the one or more images taken by the given camera match entries in the database, the processing subsystem is adapted for processing one or more next images taken by the given camera in slightly different positions or orientations. - a database that associates, with visually identifiable unique objects in a working environment, position information comprising coordinates within an associated coordinate system; - one or more cameras (108, 300) of unknown positions, movements, or both within the environment, the one or more cameras (108, 300) taking one or more images of the environment from respective positions and comprising a given camera; and - a processing subsystem for identifying unique objects within one or more of the images taken by the given camera, the processing subsystem including one or more processors (200, 202), wherein each of the one or more cameras (108, 300) has known internal characteristics which comprise at least a lens distortion, characterized in that the processing subsystem is adapted for - entering the database to determine if at least three unique objects that are identified within the one or more images taken by the given camera match entries in the database and to extract position information associated with the at least three identified unique objects that match entries in the database; - determining the position and the orientation of the given camera in the environment based on the retrieved position information for the at least three identified unique objects; - identifying new unique objects in the one or more images taken by the one or more cameras (108, 300); - determining whether new position information for the at least three identified unique objects is available that is more precise, particularly wherein new position information is more precise that is based on recently available GNSS position information from an associated GNSS receiver, and/or determined using information from a greater number of images; - updating the database to include information relating to the newly identified unique objects, including the position information for the newly identified objects as determined from the images taken by the one or more cameras (108, 300), and, if available, the more precise position information for the at least three identified unique objects, wherein, if fewer than three unique objects that are identified within the one or more images taken by the given camera match entries in the database, the processing subsystem is adapted for processing one or more next images taken by the given camera in slightly different positions or orientations.