A method of position estimation comprising: a signal detection step in which N sensors (11, 12, 13) each detect a magnetic field which is in accordance with a position of a rotor and output a detection signal as an electrical signal, wherein N is an integer of 3 or more, the N detection signals being displaced in phase by an angle obtained by dividing 360 degrees by N; a crossing detection step in which a crossing detection section sequentially detects a crossing at which one of the N detection signals having been output through the signal detection step crosses another of the N detection signals; a subdivision detection step in which a subdivision detection section detects a portion of the detection signal that connects from the crossing to another crossing which is adjacent to that crossing, as one or more subdivision signals, each subdivision signal being represented by a rotation angle of the rotor and a magnitude of the detection signal, the rotation angle of the rotor being defined by a rotation from a start position to an end position of each subdivision signal which constitutes a part of the detection signal, and the magnitude of the detection signal being defined by a difference from the start position to the end position of each subdivision signal; and a line segment joining step in which a line segment joining section sequentially joins the subdivision signals over one cycle of mechanical angle in the same positive or negative direction in accordance with the relative magnitudes of the detection signals, to form a joined line and estimates the position of the rotor based on the plural subdivision signals having been joined that are included in the joined line and measurement data, to generate an estimated position value signal, wherein each of the plural subdivision signals have a different slope depending on the location of each of the plural subdivision signals in the joined line, which provide positional information unique to angular locations of the rotor, and wherein the method further comprises measuring a moving time of the rotor for each segment while the rotor is moving at a constant velocity, generating data in which a moved amount of the rotor corresponding to each segment is associated with every segment, and causing the data to be stored to a storage device as the measurement data. a signal detection step in which N sensors (11, 12, 13) each detect a magnetic field which is in accordance with a position of a rotor and output a detection signal as an electrical signal, wherein N is an integer of 3 or more, the N detection signals being displaced in phase by an angle obtained by dividing 360 degrees by N; a crossing detection step in which a crossing detection section sequentially detects a crossing at which one of the N detection signals having been output through the signal detection step crosses another of the N detection signals; a subdivision detection step in which a subdivision detection section detects a portion of the detection signal that connects from the crossing to another crossing which is adjacent to that crossing, as one or more subdivision signals, each subdivision signal being represented by a rotation angle of the rotor and a magnitude of the detection signal, the rotation angle of the rotor being defined by a rotation from a start position to an end position of each subdivision signal which constitutes a part of the detection signal, and the magnitude of the detection signal being defined by a difference from the start position to the end position of each subdivision signal; and a line segment joining step in which a line segment joining section sequentially joins the subdivision signals over one cycle of mechanical angle in the same positive or negative direction in accordance with the relative magnitudes of the detection signals, to form a joined line and estimates the position of the rotor based on the plural subdivision signals having been joined that are included in the joined line and measurement data, to generate an estimated position value signal, wherein each of the plural subdivision signals have a different slope depending on the location of each of the plural subdivision signals in the joined line, which provide positional information unique to angular locations of the rotor, and wherein the method further comprises measuring a moving time of the rotor for each segment while the rotor is moving at a constant velocity, generating data in which a moved amount of the rotor corresponding to each segment is associated with every segment, and causing the data to be stored to a storage device as the measurement data.