{"id":27633706,"url":"https://github.com/djaus2/w3wconsoleproject","last_synced_at":"2025-04-23T18:19:11.847Z","repository":{"id":201119491,"uuid":"707008011","full_name":"djaus2/W3WConsoleProject","owner":"djaus2","description":"Console ap that can generate W3W map tri-word and related json data.","archived":false,"fork":false,"pushed_at":"2023-11-08T04:57:54.000Z","size":669,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T18:19:07.887Z","etag":null,"topics":["w3w"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaus2.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}},"created_at":"2023-10-19T03:25:16.000Z","updated_at":"2024-03-29T04:10:04.000Z","dependencies_parsed_at":"2023-10-25T04:24:58.542Z","dependency_job_id":"7f37a6dc-d47d-403d-ae54-44c63bf5c03d","html_url":"https://github.com/djaus2/W3WConsoleProject","commit_stats":null,"previous_names":["djaus2/w3wconsoleproject"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FW3WConsoleProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FW3WConsoleProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FW3WConsoleProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FW3WConsoleProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaus2","download_url":"https://codeload.github.com/djaus2/W3WConsoleProject/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250487534,"owners_count":21438612,"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":["w3w"],"created_at":"2025-04-23T18:19:11.287Z","updated_at":"2025-04-23T18:19:11.837Z","avatar_url":"https://github.com/djaus2.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What3Words\n## About\nA smorgasboard of C# .NET apps that can generate W3W map tri-words and related json data from GPS coordinates.\nIncludes lib version and Nuget package enabling reuse of functionality.  .NET Console, Blazor Server, Blazor WebApplication, MAUI, UWP and WPF examples using same API.\nReverse lookup also (triwords to GPS). Generated links to Bing and Google maps as well.\n\n- W3W: What Three Words \n- Three words that uniquley define a square 3mx3m (10'x10') world-wide\n- eg Try this: [https://what3words.com/adjust.case.trains](https://what3words.com/adjust.case.trains)\n\n## Links\n- Blog posts:\n  - [What3Words Mapping - 1](https://davidjones.sportronics.com.au/web/GPS-W3W_Mapping-web.html)\n  - [What3Words Mapping - 2](https://davidjones.sportronics.com.au/web/GPS-What3Words_Mapping_-_2-web.html)\n- [Getting Started](https://developer.what3words.com/public-api)\n- [Get API Key](https://what3words.com/select-plan?referrer=/public-api)\n   - Can get Free key, 100 lookups per month.\n \n## Sample Output\n\n```\nHi from Word3Word App!\nGetting json string using httpClient.GetAsync\n=====================================================\njson string: {\"country\":\"AU\",\"square\":{\"southwest\":{\"lng\":144.918576,\"lat\":-37.751105},\"northeast\":{\"lng\":144.91861,\"lat\":-37.751078}},\"nearestPlace\":\"Essendon, Victoria\",\"coordinates\":{\"lng\":144.918593,\"lat\":-37.751092},\"words\":\"adjust.case.trains\",\"language\":\"en\",\"map\":\"https:\\/\\/w3w.co\\/adjust.case.trains\"}\n---------------------------\njson string parsed OK\n\nGetting json direct using httpClient.GetFromJsonAsync\n=====================================================\nCountry: AU\nNearest Place: Essendon, Victoria\nW3W Words: adjust.case.trains\n---------------------------\nMap Link: https://w3w.co/adjust.case.trains\nThe map link URL is on the clipboard.\n```\n\n## Usage\nGet What3Words Tri-words for GPS location.\n- Get an API Key _(See link above)_\n- Insert into Data.cs\n  - Insert latitude and longitude coordinates into Data.cs  \nOR\n- Enter latitude longitude on command line.\n  - AND (Optionally) enter API Key as third parameter.\n- Run the app.\n- Paste the Url generated into a Web Browser.\n\n## Update: Projects\n- **W3WProject**: Standalone Console project\n- **WhatThreeWords**: W3W in static class library\n  - **_Note:_** Also available as Nuget package: **Sportronics.Utility.WhatThreeWords**\n  - Includes class definition for W3W\n  - ```WhatThreeWords.GetW3W()``` Returns W3W class instance\n  - Usage:  \n ```cs           \n var w3wjson = await WhatThreeWords.GetW3WAsync(latitude, longitude, w3wkey);\n```\n\n- **WhatThreeWordsConsole**: Console app that calls WhatThreeWords Class\n  - Same functionality as W3WProject though.\n- **WhatThreeWordsNugetConsole**: As previous but uses Nuget Package **Sportronics.Utility.WhatThreeWords**\n  - Note: Original Nuget package WhatThreeWords has been deprecated.\n- **W3WBlazor**: Blazor Server app with form entry of GPS and key. \n  - Once searched can click on map link.\n- **NetMauiW3W**: A Simple .NET MAUI app to do the same.\n- **GetGPSNugetConsole**: (Reverse) Console app to lookup up GPS from What3Words dotted string\n  - WhatThreeWords class has added method to do reverse lookup\n    - In Nuget package as used by this app.\n```cs\nvar w3wjson = await WhatThreeWords.GetGPSAsync(words3, w3wkey);\n```\n- **GetGPS2BingMaps** As per previous app but generates Bing Static Map URL.\n- **GPSMapfromW3WBlazor** Get GPS from W3W and display on Bing Map inapp. \n  - Requires Telerik License. See previous use of the app at [Steps 1..3](https://github.com/djaus2/GPSMapIoTHub#getting-started)\n \n- **W3WFormApp** Windows forms equivalent of _GetGPSNugetConsole/W3WBlazor_ apps.\n- **WPF_W3W2GPS** WPF version of _GetGPSNugetConsole/W3WBlazor_ apps.\n- **UWP_GetGPSfromW3W** UWP version of _GetGPSNugetConsole/W3WBlazor_ apps. Uses local lib **UWP_W3W2GPSLib**\n- .\n- **BlazorWA_W3W** Blazor WebApplication version of _GetGPSNugetConsole/W3WBlazor_ app. _Separate Solution file available._ Nb: Run the Server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fw3wconsoleproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaus2%2Fw3wconsoleproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fw3wconsoleproject/lists"}