In the conventional GNSS receiver, pseudo-range and pseudo-range rates measurements are generated through carrier signal tracking and code tracking respectively. Then, Least Square method (LSM) or Kalman filter (KF) is utilized to estimate the position and velocity (PV) regarding the pseudo-range and pseudo-range rates as the measurements. However, the LSM ignores the fact that PV information is time-correlated. Smoother positioning results can be obtained considering time-correlated characteristic of the PV information. In KF, the PV information is estimated in a weighting manner between the prediction and measurements updated states, smoother positioning results are obtained since state transformation constraints are included. However, in KF, abundant historical information is dropped out and excluded while estimating the state at current epoch. In this letter, a Graph Optimization (GO) method based GNSS position estimation was proposed and implemented. State transformation and measurements were all regarded as the constraints to optimize the states estimation in the GO method. Historical states and measurements were utilized to estimate state at current epoch in the GO framework. Superior position results were expected compared with that from the LSM and KF. In this study, a field was carried out, position results from LSM, KF and GO method were presented, compared and analyzed. With the iterative process and historical information included in the GO, the field test results demonstrated that GO method could generate better position results compared with that from the LSM and KF methods.