{"id":22243814,"url":"https://github.com/guyi2000/surveyutils","last_synced_at":"2025-03-25T10:44:49.350Z","repository":{"id":242326145,"uuid":"809270977","full_name":"guyi2000/SurveyUtils","owner":"guyi2000","description":"测量实习小工具，可以一步到位完成全站仪通信，格式转换，坐标计算，CASS 转换。","archived":false,"fork":false,"pushed_at":"2024-06-02T08:02:59.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T10:13:05.005Z","etag":null,"topics":["python3","survey"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guyi2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-02T08:00:06.000Z","updated_at":"2024-06-02T08:38:43.000Z","dependencies_parsed_at":"2024-06-02T09:24:59.072Z","dependency_job_id":"aaf4ad10-d353-4561-bc86-9e5cdcf98e76","html_url":"https://github.com/guyi2000/SurveyUtils","commit_stats":null,"previous_names":["guyi2000/surveyutils"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyi2000%2FSurveyUtils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyi2000%2FSurveyUtils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyi2000%2FSurveyUtils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guyi2000%2FSurveyUtils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guyi2000","download_url":"https://codeload.github.com/guyi2000/SurveyUtils/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245449531,"owners_count":20617187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python3","survey"],"created_at":"2024-12-03T04:29:24.744Z","updated_at":"2025-03-25T10:44:49.289Z","avatar_url":"https://github.com/guyi2000.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 测量实习小工具\n\n可以一步到位完成全站仪通信，格式转换，坐标计算，`CASS` 转换。\n\n## 演示视频\n\nhttps://github.com/guyi2000/SurveyUtils/assets/16850027/cfa457f4-d96c-4526-8938-1c9a06932b63\n\n## 使用说明\n\n使用前，请先仔细阅读本使用说明\n\n### 基本使用\n\n**在基本日常使用时**，默认将接续进行数据接收，格式转换，坐标计算，`CASS` 转换四项功能，因此，请先完成以下准备：\n\n1. 先检查全站仪串口驱动是否已安装，全站仪是否已连接至计算机。在全站仪通过数据线连接的情况下，右击我的电脑（此电脑），点击属性，点击其中的设备管理器查看是否有串口设备，如有，则可进行下一步。\n\n注：本软件仅适用于 `TOPCON GTS-102N`（其他机型未做测试）\n\n2. 将控制点坐标存入 `KZD.dat` 中，坐标格式为 `点名,X坐标,Y坐标,H坐标`，示例如下：\n\n```\n14-A,387.872,958.983,49.571\n```\n\n保存完成后，方可正常使用其中坐标计算功能。\n\n1. 准备完成后，双击打开 `run.bat`，即可启动程序，启动程序后如果电脑内仅有一个正在使用的串口，那么软件将自动检测串口号，否则，需要输入所在的串口，如 `COM6` 等，具体请在设备管理器中查看。如果出现 `No Available COM`，则表明全站仪连接失败，需要检查准备步骤是否完成。当软件提示 `Waiting for data...` 时，表明串口打开成功，可以在全站仪上发送数据。\n\n2. 全站仪点击 `menu`，存储管理，翻页后找到数据传输，选择 `GTS` 格式的数据传输，选择相应文件，发送数据，可以看见计算机上有开始接收提示，表明计算机已经接收了数据。请耐心等待数据传输完成，如果出现了卡顿或进程未响应现象，请插拔 `USB` 接口，并重试，如果重复出现，请寻找老师。\n\n3. 接收完成后，原始数据会保存在同目录 `raw` 文件夹下，并且以当前时间为文件名进行保存，如需更改默认文件名，请参阅二次开发章节。此后，软件将自动对接收数据进行转化，转化为 `SSS` 格式的数据，转化后的结果会自动保存到 `convert` 文件夹下便于上交。\n\n4.在转化完成后，程序会自动开始计算，计算时，请注意保持文件格式正确，如果在 `SSS` 文件的第二三行没有 `STN` 数据，则程序会询问当前测站为何，如果第二三行没有 `BS` 数据，则程序会询问当前测站的后视点名为何。请特别注意，已有点名需要与 `KZD.dat` 中的保持一致，否则程序无法正确读取。例如：\n\n在 `SSS` 文件中有\n\n```\nSTN   14-10,1.524,\nBS    14-6,1.800,\n```\n\n那么在 `KZD.dat` 就必须存在14-10与14-6两个点\n\n```\n14-6,552.402,1103.954,49.696\n14-10,514.79,1100.839,49.8\n```\n\n否则，程序将因无法找到点而发出轮询。\n\n如果在SSS文件中未读取到STN与BS信息，则程序会发出询问，请依次输入`STN`点名，仪器高，BS点名，后视方向角，这样程序就可以继续进行运算。（也要保证点名在KZD.dat中存在）\n\n\n5. 坐标计算结束后，程序将结果保存在同目录 `output` 文件夹下，并自动开始转化为 `CASS` 格式，转换后的文件保存在同目录 `cass` 文件夹下，可以直接导入 `cass` 中进行绘图。\n\n### 进阶使用\n\n**对高级用户**，可以不必使用 `run.bat` ，在目录下打开命令提示符或 `powershell`，运行如下命令：\n\n```bash\npython receiveData.py\npython convertData.py\npython calculateData.py\npython transferData.py\n```\n\n即可分别使用函数提供的功能，其中 `receiveData` 是接受全站仪数据并保存至 `raw` 文件夹下，`convertData` 是将 `raw` 文件夹内所有文件转换保存至 `convert` 文件夹下，`calculateData` 是将 `convert` 文件夹下所有文件转换保存至 `output` 文件夹下，`transferData` 是将 `output` 文件夹下所有文件转换保存至 `cass` 文件夹下。\n\n### 二次开发\n\n本软件是在测量小学期期间编成，因此并没有做过多的测试以及重度使用，仅仅服务于本组的数据处理，因而可能具有不稳定性，也有些代码习惯不够友好，注释也并不是很全，如果需要二次开发，可能稍有难度，不过基本分为四个函数，分别存储在四个 `python` 源文件中。在做整合开发时，可以不对函数内进行修改而使用函数提供的功能，下讲函数的接口列出，以备使用：\n\n```python\ndef receiveCOMData(receiveDataFile)\n```\n\n该函数有一个参数，其意为存储数据的路径，其通过调用串口，将接受到的数据文件存储至receiveDataFile路径中。\n\n```python\ndef convertData(rawDataFile, convertDataFile)\n```\n\n该函数有两个参数，第一个参数是待转换的全站仪数据源文件，第二个参数为转换后文件的路径（保存路径）。\n\n```python\ndef caculateData(convertDataFile, caculateDataFile, KZDDataFile)\n```\n\n该函数有三个参数，第一个参数是待计算的SSS格式文件，第二个参数是计算后文件的保存路径，第三个参数是需要查阅的控制点坐标数据文件。\n\n```python\ndef transferData(caculateDataFile, transerDataFile)\n```\n\n该函数有两个参数，第一个参数是待转换的坐标文件，第二个参数是转换后全站仪的文件。\n\n以上接口可以正常使用，在 `main.py` 可以继续使用。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyi2000%2Fsurveyutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguyi2000%2Fsurveyutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguyi2000%2Fsurveyutils/lists"}