{"id":20334880,"url":"https://github.com/meeshic/bruinnav","last_synced_at":"2026-06-08T10:32:03.845Z","repository":{"id":94042825,"uuid":"122941103","full_name":"meeshic/BruinNav","owner":"meeshic","description":"A* optimized navigation system","archived":false,"fork":false,"pushed_at":"2018-03-07T00:22:24.000Z","size":323,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-04T13:34:15.255Z","etag":null,"topics":["a-star-search","java","map-navigation","open-street-map"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meeshic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-02-26T08:53:37.000Z","updated_at":"2018-03-07T00:23:26.000Z","dependencies_parsed_at":"2023-07-26T13:00:12.497Z","dependency_job_id":null,"html_url":"https://github.com/meeshic/BruinNav","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/meeshic/BruinNav","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeshic%2FBruinNav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeshic%2FBruinNav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeshic%2FBruinNav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeshic%2FBruinNav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meeshic","download_url":"https://codeload.github.com/meeshic/BruinNav/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meeshic%2FBruinNav/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34059154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["a-star-search","java","map-navigation","open-street-map"],"created_at":"2024-11-14T20:38:28.358Z","updated_at":"2026-06-08T10:32:03.825Z","avatar_url":"https://github.com/meeshic.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BruinNav\n\nNote: Project reformatted C++ -\u003e Java\n\nGeospatial data from Open Street Maps (OSM): https://www.openstreetmap.org\n\nSimple navigation system that loads and indexes OSM data to build a turn-by-turn navigation system.\n\nImportant classes:\n1. MyMap: implement a map-like structure using a binary search tree.\n2. MapLoaderImpl: load and parse OSM data into StreetSegments\n3. AttractionMapperImpl: input(attraction name) -\u003e output(attraction location)\n4. SegmentMapperImpl: input(location:lat,long) -\u003e output(list\u003cstreet\u003e)\n5. NavImpl: input(start attraction, end attraction) -\u003e output(list\u003cdirections\u003e)\n  \u003e A* search algorithm used to find optimal path from start to end attraction. The Euclidean distance \n    was used as the heuristic.\n\nObservations:\n- Upon basic testing with Google Maps, BruinNav gives a path that is ~ \u003c= 0.3km similar to the one \n  given by Google Maps.\n  \nFuture potential work:\n- BruinNav only takes distance into consideration when computing the cost function. For more realistic\n  use, the cost function could take into consideration other important parameters (i.e. traffic, speed \n  limit, local road, freeway, etc).\n- The binary search tree (BST) used as the base for the map-like structure is not balanced. If decreased \n  computation time is desired, BST can be made to be balanced.\n- There is a NavSegment (direction) for each GeoSegment. To give a more concise path, adjacent NavSegments \n  on the same street may be merged (i.e. x-\u003ey-\u003ez becomes x-\u003ez, where street(x)=street(y)=street(z)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeeshic%2Fbruinnav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeeshic%2Fbruinnav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeeshic%2Fbruinnav/lists"}