{"id":18378745,"url":"https://github.com/taimos/gpsd4java","last_synced_at":"2025-08-23T13:33:39.129Z","repository":{"id":2677007,"uuid":"3669083","full_name":"taimos/GPSd4Java","owner":"taimos","description":"GPSd client library written in Java","archived":false,"fork":false,"pushed_at":"2025-02-12T16:06:27.000Z","size":450,"stargazers_count":44,"open_issues_count":0,"forks_count":34,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T05:06:40.901Z","etag":null,"topics":["gpsd","gpsd-daemon","java","listener","location"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taimos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2012-03-09T09:13:15.000Z","updated_at":"2025-03-26T08:34:05.000Z","dependencies_parsed_at":"2025-03-15T04:02:41.524Z","dependency_job_id":"aa5d1260-e132-45f7-90e5-82501f1ce909","html_url":"https://github.com/taimos/GPSd4Java","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taimos%2FGPSd4Java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taimos%2FGPSd4Java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taimos%2FGPSd4Java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taimos%2FGPSd4Java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taimos","download_url":"https://codeload.github.com/taimos/GPSd4Java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441053,"owners_count":20939239,"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":["gpsd","gpsd-daemon","java","listener","location"],"created_at":"2024-11-06T00:35:23.922Z","updated_at":"2025-04-06T06:10:20.680Z","avatar_url":"https://github.com/taimos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.taimos/gpsd4java/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.taimos/gpsd4java)\r\n\r\nAbout GPSd4Java\r\n===============\r\n\r\nGPSd4Java is a library to use data from the GPSd daemon in your Java applications. \r\nIt provides a library to connect to gpsd and retrieve data using a socket connection.\r\n\r\nUse GPSd4Java\r\n=============\r\n\r\nYou can use GPSd4Java with a Maven project. Just add the following lines to your pom.xml.\r\n\r\n\t\u003cdependencies\u003e\r\n\t\t\u003cdependency\u003e\r\n\t\t\t\u003cgroupId\u003ede.taimos\u003c/groupId\u003e\r\n\t\t\t\u003cartifactId\u003egpsd4java\u003c/artifactId\u003e\r\n\t\t\t\u003cversion\u003e$VERSION\u003c/version\u003e\r\n\t\t\u003c/dependency\u003e\r\n\t\u003c/dependencies\u003e\r\n\r\n\r\nGetting Started\r\n===============\r\n\r\nThe main entrypoint to use GPSd4Java is the class `GPSdEndpoint`. \r\nYou can create a new instance by providing the host and port of the gpsd daemon.\r\nFurther you have to provide a `ResultParser` instance which parses all messages sent by the GPS device.\r\n\r\nOn the created endpoint you can then add listeners to handle incoming messages.\r\nThis listener will receive the message on the appropriate method according to the message type.\r\nThe most interesting messages are the `TPVObjects` as they contain the positional information provided by the GPS device.\r\n\r\nTo get the position you just have to call the `getLatitude()` and `getLongitude()` methods on the received `TPVObject`.\r\n\r\nIf all is set you activate the endpoint using the `start()` method.\r\n\r\nIf this succeeds you can either poll gpsd for new messages or you can enable the watch mode to receive new data on arrival.\r\n\r\n## Polling data\r\n\r\nTo poll single messages call the `poll()` method on the endpoint instance\r\n\r\n## Activating watch mode\r\n \r\nTo get all new messages call the `watch(boolean, boolean)` method.\r\nThe first param defines if you want enable or disable the watch mode and the second defines if you want to receive messega details.\r\nSo the default use case would be to call `watch(true, true)`.\r\n\r\nYou should now receive incoming messages in your provided listener implementation.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaimos%2Fgpsd4java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaimos%2Fgpsd4java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaimos%2Fgpsd4java/lists"}