{
  "fetched_at": "2026-10-19T18:54:33Z",
  "source_url": "https://www.kaggle.com/competitions/gnss-classification/data",
  "pages": [
    {
      "name": "data-description",
      "content": "Both training and testing dataset contain raw measurements from the f9p receiver. Please read and extract more features for your own machine learning training. The training data is collected in Tsim Sha Tsui (TST), Whampoa (WP), Mong Kok (MK). The data collection setup is as UrbanNav [1]. The testing data is collected in Kowloon Bay (KLB).\n\n## Files\n\n*   **GNSS_raw_train.csv** - the training set\n*   **GNSS_raw_test.csv** - the testing set\n*   **sample_submission.csv** - a sample submission file in the correct format, where the number in the \"ID\" column is the ID, following the testing dataset sequence, and the number in the \"Predict\" column is the predicted LOS/NLOS tag (1 for LOS, 0 for NLOS).\n*   **GNSS_train.xlsx** - the processed training set, if you need more features that are not included, consider to download the ephemeris to obtain the satellite position, combining with GNSS_raw_train.csv to calculate the new features\n*   **GNSS_test.xlsx** - the processed testing set\n\n## Columns\n\n*   `GPS_Time(s)` - GPS time\n*   `Satelite_code` - code of satellite\n*   `code_L1` - code measurement in L1\n*   `phase_L1` - phase measurement in L1\n*   `doppler_L1` - doppler in L1\n*   `cnr_L1` - signal strength in L1\n*   `code_L2` - code measurement in L2\n*   `phase_L2` - phase measurement in L2\n*   `doppler_L2` - doppler in L2\n*   `cnr_L2` - signal strength in L2\n*   `label` - LOS/NLOS label of the satellite, where 1 represents LOS, 0 represents NLOS. This is gained by 3D building model and the ground truth location.\n*   `Pr_Error` - Pseudorange error (assumed mostly contributed by multipath/NLOS). The value is calculated by double-difference using the closest ground station measurement and the highest elevation angle satellite as in [2] equation (17).\n*   `Latitude` - Latitude of the ground truth location\n*   `Longitude` - Longitude of the ground truth location\n*   `Height` - Ellipsoidal height of the ground truth location\n\n## Rows\n* **For GNSS_raw_train.csv**\n*   `2-10392` - Scenario Tsim Sha Tsui\n*   `10393-38144` - Scenario Whampo\n*   `38145-74086` - Scenario Mong Kok\n\n\n[1] L.-T. Hsu, Kubo, Nobuaki, Wen, Weisong, Chen, Wu, Liu, Zhizhao, Suzuki, Taro, Meguro, Junichi, \"UrbanNav:An Open-Sourced Multisensory Dataset for Benchmarking Positioning Algorithms Designed for Urban Areas,\" in Proceedings of the 34th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2021), St. Louis, Missouri, September 2021 2021, pp. 226-256, doi: https://doi.org/10.33012/2021.17895.\n[2] B. Xu, Q. Jia, Y. Luo, and L.-T. Hsu, \"Intelligent GPS L1 LOS/Multipath/NLOS Classifiers Based on Correlator-, RINEX- and NMEA-Level Measurements,\" Remote Sensing, vol. 11, no. 16, p. 1851, 2019. [Online]. Available: https://www.mdpi.com/2072-4292/11/16/1851.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "## Motivation\nGlobal navigation satellite system (GNSS) positioning accuracy is degraded in urban canyons due to signal blockages and reflections. This competition aims to foster the machine learning algorithms in GNSS multipath/NLOS problem. Totally there are three tasks for this problem, which is LOS/NLOS classification, Pseudorange Error Prediction, Positioning Prediction.\n\nOne of the important characteristics of the satellite is their visibility: whether they are light-of-sight (LOS) or non-light-of-sight (NLOS). This is the page for GNSS LOS/NLOS classifier performance evaluation platform. You can upload your prediction result to evaluate the performance of your model in a different scenario.\n\n## Acknowledgements\n\nWe thanks the fellows who contribute to the project:\nProf. Hsu, Mr. Huang, Mr. Zhang, Mr. Ivan, Mr. Zhong, Mr. Max, Mr. Xu",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "## Evaluation Metric\nThe evaluation metric for this competition is [Accuracy](https://en.wikipedia.org/wiki/Accuracy_and_precision). The accuracy, commonly used in binary classification, accuracy is calculated as:\nAccuracy=(TP+TN)/(P+N)\nwhere TP is true positive samples, TN is true negative samples, P and N represent positive samples and negative samples, respectively. \n\n## Benchmark\nThe benchmark result is from a simple MLP model, model detail will be updated later. The input of the network is the pseudorange residual, CN0, and elevation angle, output is the probability of the LOS and NLOS\n\n## Submission Format\n\n**For every GPS Time and Every Satellite in the dataset**, submission files should contain two columns: `ID` and `Predict`. `ID` follows the same sequence with the testing dataset, and within each GPS Time, the satellite sequence should also be the same as that in the testing set. Every `Prediction` is an int value, either 1 or 0, where 1 means LOS, 0 means NLOS. \n\n\nThe file should contain a header and have the following format:\n```\nID,Predict\n0,1\n1,0\n2,1\n3,0\n4,0\n5,1\n6,0\n7,1\n8,0\n9,0\n10,1\n11,0\n12,1\n13,0\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "Please use the training set to train your model. At the same time, do not forget to split a certain percentage of them to validate your model.\n\n - Have fun!\n - Test the generalization performance of your model here!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}