{"id":19015304,"url":"https://github.com/hansolo/countries","last_synced_at":"2025-08-13T07:04:15.131Z","repository":{"id":58628571,"uuid":"433805845","full_name":"HanSolo/countries","owner":"HanSolo","description":"A JavaFX library that contains different controls to visualize country based data","archived":false,"fork":false,"pushed_at":"2024-08-21T08:41:05.000Z","size":12726,"stargazers_count":29,"open_issues_count":5,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-15T14:56:07.934Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/HanSolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","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":"2021-12-01T11:50:00.000Z","updated_at":"2025-03-25T13:13:57.000Z","dependencies_parsed_at":"2024-08-21T09:57:31.934Z","dependency_job_id":"eab89521-1fbf-4e9c-8ae4-516d9b3ccbaf","html_url":"https://github.com/HanSolo/countries","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanSolo%2Fcountries","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanSolo%2Fcountries/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanSolo%2Fcountries/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanSolo%2Fcountries/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HanSolo","download_url":"https://codeload.github.com/HanSolo/countries/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249094937,"owners_count":21211836,"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":[],"created_at":"2024-11-08T19:36:42.010Z","updated_at":"2025-04-15T14:56:19.164Z","avatar_url":"https://github.com/HanSolo.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Countries\n\n[![JFXCentral](https://img.shields.io/badge/Find_me_on-JFXCentral-blue?logo=googlechrome\u0026logoColor=white)](https://www.jfx-central.com/libraries/countries)\n\nCountries is a JavaFX library which contains information about countries like their shape, gps coordinates, cities and airports.\n\nThere are three controls you can use\n- WorldPane\n- RegionPane\n- CountryPane\n\nEach of these controls comes with a builder which makes it more convenient to create the objects.\nAnd each of those controls has the ability to show a list of points of interest (Poi class) a \nheatmap as an overlay.\n\nThe Poi class has properties are: \n- latitude\n- longitude\n- name\n- info\n- valueObject\n- pointSize\n- fill\n- stroke\n- image\n- svgPath\n- svgPathDim\n\nThe heatmap spots are a simple list of Point objects.\n\n\u003cb\u003eAttention:\u003c/b\u003e\nKeep in mind that longitude = x and latitude = y coordinate when using the spots\n\nThe central class of the library is the Country class. It has methods to get the shape(s) of the\ncountry, it's national flag and also it's capital (if available).\nThe Country class is an enum with the following properties:\nvalueObject;\n- value;\n- fill;\n- stroke;\n- location;\n- displayName;\n- countryPaths;\n- countryBounds;\n\nWith the library also comes a City class which contains information about it's location (lat/lon),\nit's population (if available), the info if it is a capital and the country it belongs to.\nThere is a method getCities() in the Helper class that returns the complete list of cities (~41000).\nIn addition there is also an Airport class which contains 8665 airports with their name, country and\nIATA code. There is a method getAirports() in the Helper class that returns the coplete list of airports.\n\nThe WorldPane simply shows all available countries which gives you the whole world.\nTo get a better understanding on how it works just take a look at the DemoWorldPane class.\n\n![DemoWorldPane](https://raw.githubusercontent.com/HanSolo/countries/main/DemoWorldPane.png)\n\nThe RegionPane shows a region of countries (some of them are already predefined in the BusinessRegion class \ne.g. European Union, South America, APAC, EMEA etc.).\nWith this you can visualize data based on one of those regions. Just take a look at the\nDemoRegionPane class to get a better understanding.\n\n![DemoRegionPane](https://raw.githubusercontent.com/HanSolo/countries/main/DemoRegionPane.png)\n\nThe CountryPane shows just one country. To see how to use it please take a look at the \nDemoCountryPane class.\n\n![DemoCountryPane](https://raw.githubusercontent.com/HanSolo/countries/main/DemoCountryPane.png)\n\n\n## Credits\nFlag icons made by [Freepik](https://www.flaticon.com/authors/freepik)\n\nWorld cities are provided by [simplemaps](https://simplemaps.com/data/world-cities)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhansolo%2Fcountries","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhansolo%2Fcountries","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhansolo%2Fcountries/lists"}