pkar.TERYT
1.0.1
Prefix Reserved
dotnet add package pkar.TERYT --version 1.0.1
NuGet\Install-Package pkar.TERYT -Version 1.0.1
<PackageReference Include="pkar.TERYT" Version="1.0.1" />
paket add pkar.TERYT --version 1.0.1
#r "nuget: pkar.TERYT, 1.0.1"
// Install pkar.TERYT as a Cake Addin #addin nuget:?package=pkar.TERYT&version=1.0.1 // Install pkar.TERYT as a Cake Tool #tool nuget:?package=pkar.TERYT&version=1.0.1
Wrapper do usług GUS TERYT.
Po co masz sam bawić się w dodawanie WCF i tak dalej do swojego projektu, znacznie łatwiej dodać tego Nugeta 😃
Skorzystanie z TERYT staje się tak proste jak dodanie Nuget oraz wywołanie:
klient = New TERYT(USERNAME, PSWD)
If Not Await klient.CzyZalogowanyAsync Then Return "Error"
Aby uzyskać dane logowania do serwisu zob. https://api.stat.gov.pl/Home/TerytApi
Teoretycznie powinno się dać korzystać z tych usług bez czytania dokumentacji, używając jedynie Intellisense, jednak mocno sugeruję sięgnięcie do strony https://api.stat.gov.pl/Home/TerytApi . Wszystko jest w namespace pkar.obiekty.TERYT
Poza funkcjami opisanymi w dokumentacji, Nuget zawiera także następujące helpery:
- większość metod wymagających podania daty ma bliźniacze metody bez daty (wtedy chodzi o stan "na Date.Now")
- dodany jest enum RodzajJednostki - "jednoznakowy symbol rodzaju jednostki", i struktury poza polem z symbolem mają też prosty 'wrapper' zmieniający symbol na enum
- dodany jest enum TerytWliczbachTyp dla metody bliźniaczej do TerytWLiczbachAsync (standardowo int, w Nuget także jako enum)
cache
Pliki TERYT mogą być skopiowane lokalnie, i wykorzystywane zamiast odwołań online:
void Cache.Init(string folder); // może być wspólny dla wszystkich app, albo niezależny dla app
void Cache.Load(KtoryPlik ktory); // wczytanie pliku lokalnego
async Task<bool> Cache.SyncAsync(KtoryPlik ktory); // wczytanie plików z serwera jeśli nowszy niż lokalny
async Task<bool> Cache.ForceDownloadAsync(KtoryPlik ktory); // wymuszenie wczytania pliku (wersja adresowa)
JednostkaTerytorialna[] Cache.PobierzListeWojewodztw(); // pobierz listę województw z cache, odpowiednik teryt.PobierzListeWojewodztwAsync
JednostkaTerytorialna[] Cache.PobierzListePowiatow(string Woj); // pobierz listę powiatów w województwie z cache, odpowiednik teryt.PobierzListePowiatowAsync,
JednostkaTerytorialna[] Cache.PobierzListeGmin(string Woj, string Pow); // pobierz listę gmin w powiecie z cache, odpowiednik teryt.PobierzListeGminAsync,
"Gratis", bez żadnego ściągania/wczytywania plików, uzyskujemy listę województw (jest ona niezmienna od 1999 roku). Lista powiatów się jednak regularnie zmienia, dlatego potrzebne są już aktualne pliki.
Cache można też wykorzystać w systemach odciętych od Internet - po prostu wrzucając aktualne wersje plików do katalogu (nazwy: TERYT.TERC.csv, TERYT.SIMC.csv, TERYT.ULIC.csv). Pliki te mają wielkości około, odpowiednio, 160 kB, 5.2 MB, 16.2 MB; dwa pierwsze zmieniają się mniej więcej raz do roku (1 stycznia), zaś katalog ulic praktycznie codziennie.
Niestety, biblioteka nie może być .Net Std 1.4, minimum to .Net Std 2.0. Tak więc Nuget nie zadziała na telefonach z Windows; ale zadziała na desktop WPF/UWP/WinUI, oraz wieloplarformowo w Uno, i w MAUI... Ograniczenie bierze się z System.ServiceModel.Primitives - po obniżeniu do wersji 4.10.3 zaczyna brakować funkcji. Analogicznie System.ServiceModel.Http.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.ServiceModel.Http (>= 8.1.0)
- System.ServiceModel.Primitives (>= 8.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 100 | 1/4/2025 |
First release.