Aplikacja do czytania punktów na mapie

0

Cześć.

Chciałbym napisać apkę. Apka ma polegać na tym że mam bazę danych z punktami (miastami,kodami kreskowymi - to jeszcze nie jest jeszcze sprecyzowane na pewno nie będą to super idealne adresy ) i chciałbym je nakładać wszystkie jednocześnie na mapę PL. To są różne typy danych uznajmy że klientów więc tych klientów chciałbym móc w każdym momencie wyfiltrować po np województwach,segmetach (taka kolumna w bazie będzie) lub innych przykładowych typach danych.

Chciałbym zapytać w jaki sposób odczytać wszystkich klientów na raz czyli nałożyć ich jednocześnie. Czy istnieje możliwość zmiany pinezki dla pewnego typu klientów. Np mam klienta z segmentu A i on ma być na zielono a klient z segmentu B ma być na niebiesko.

Jeżeli idę w dobrym kierunku proszę o potwierdzenie i ewentualnie proszę o dokładniejsze wytłumaczenie jak zacząć budowanie takiej apki, reszta sama pójdzie bo znajdę w google.

Myślałem o WPF lub react jako front i c# na backend.

0

Rozumiem ze dane masz w bazie i chcesz je umieszczać na mapie? W takim wypadku najlepiej użyć jakiejś mapy typu google maps abo https://www.openstreetmap.org/ i tam masz api do wrzucania POI na mapę, a mapa resztę załatwi.

0

Niedawno robiłem mały test ale na komponentami z devexpress na winforms, mapy z MS + api z MS do wyszukiwania lokalizacji po adresach. Nawet trafia z wyszukiwaniem po adresie, kod pocztowy + ulica i numer. TrEba wymuszać wyszukiwania jednego rekordu dla adresu bo czasami znajduje więcej. Pinezki definiukesz jaki chcesz ale to już specyfika komponentów devexpress.

0

W WPF Microsoft udostępnił kontrolkę mapy. Można do niej bindować dane i przedstawiać je jako np. pinezki. Poszukaj w nuget MapControl

0

Zaciekawia mnie jeszcze płatność za używanie google maps. Powiedzmy mam w bazie 20 tyś klientów i chciałbym ich jednocześnie nałożyć na mapę. Czy to jest 20 tyś wysz Jak jest z kosztami za używanie takiej aplikacji gdybym np chciał użyć tej aplikacji np 5 razy w ciągu dnia albo nałożyć na początku wszystkich klientów a później posprawdzać sobie filtrując sobie tylko wybrane obszary.
Dostaje te 200$ miesięcznie ale nie do końca zdaję sobię sprawę jak to jest jeżeli chodzi o wykorzystanie tego budżetowo w realu. Może ktoś z was ma takie doświadczenia.

0

Skoro masz klientów w bazie to na mapie jedynie ich wyświetlasz jako "widok". Do wyszukwiania ich nie lepiej zrobić własnego algorytmu selekcjonowania z bazy danych? Masz tam przecież długość i szerokość geograficzną pinezki

0

No właśnie nie mam długości i szerokości oraz na przyszłość też ich nie będzie. Trzeba byłoby pisać oddzielny automat który ściąga współrzędne. Mam adres miasto i kod pocztowy.

0

No więc bez kosztów się nie obejdzie powiem wprost. Skoro jeszcze nie napisałeś tej apki polecałbym dołożyć do bazy danych lokalizację po współrzędnych, ponieważ nakładanie pinezek na mapie jest bezpłatne w przeciwieństwie do pobierania danych o miejscu. Po prostu jeżeli lokalizacji nie ma na mapie wczytujesz ją jednym żądaniem, zapisujesz i przy kolejnym uruchomieniu nie musisz tego robić ponownie. Chyba że jesteś kasiasty. Co do nakładania pinezek polecam wpf map control

0

W MS Maps API są darmowe pakiety miesięczne. Do z małego systemy chyba wystarczy. W Azure Maps też coś jest za darmo.

0

Raczej tak. Każde zapytanie o lokalizację to jedna transakcja.
Jak @Grzegorz Świdwa napisał. Po zapytaniu zapamiętuje. Firmy raczej nie zmieniają adresów zbyt często. Wtedy 250 000 Free na msc może Ci wystarczyć.
Poza tym po jakiego ... chcesz wyświetlać 20 000 punktów na mapie? Co Ci pokaże taka gęstwina?

0

Co do gęstwiny. 20 k puntów na Całej PL nie jest wcale taką wcale gęstwiną jeżeli określasz np białe plamy miejsc. I do takiego czegoś staram się przygotować.

Dobra to odracając sytuację, czy istnieje możliwość pobrania na podstawie adresu kodu pocztowego i miejscowości współrzędnych tego miejsca ? Chodzi mi Bardziej o narzędzie gdzie będę mógł wrzucić tych 20k klientów i co kwartał wrzucić nowych klientów bez współrzędnych i sobie ich pobrać ?

0

Tak, przy wykonywaniu żądania do API wybierasz jakie informacje mają być zwrócone :)

2

@BLAZO: A ok. Tak to ma sens z tymi plamami.
Zobacz sobie Bing Map API, Azure Maps API.
Bing ma chyba 50 000 free dzienie dla aplikacjo Windows. W azure 10000 płatnych zapytań kosztuje 0,5 usd w S0. Chyba nie majątek.
W każdym przypadku odpytujesz po adresie i dostajesz dane geo. Listę, bo może odnaleźć kilka lokalizacji wg adresu. Zależy czy adres jest dokładny i jednoznaczny.

0

A tak z ciekawości bo zacząłem się zastanawiać. Czy to aby możliwe aby lokalizację po adresie wyciągać np z API Google maps, a inne informacje na podstawie np openstreetmap? To nie gryzie się jakoś w regulaminie?

0

Nie. W Azure mozesz miec plan S0 (tanszy) i S1 (drozszy) i używać oby optymalizujac koszty.

0

Dobra, wracamy do początku. Powiedzmy że udało mi się zgobyć geolokalizację do wszystkich adresów lub to przynajmniej zatysfakcjonującej mnie większości :) ( jak się chce to zawsze można ) to co proponujecie jeżeli chodzi o WPF ? Trochę nie rozumiem dlaczego w momencie podania danych GEO już jest to inna forma zapytania do API niż zwykłe płatne zapytanie np w przypadku google maps.

1

Jeżeli masz już w bazie dane geolokalizacji to po prostu nanieś je na mapie. Pełno przykładów w necie

0
BLAZO napisał(a):

No właśnie nie mam długości i szerokości oraz na przyszłość też ich nie będzie. Trzeba byłoby pisać oddzielny automat który ściąga współrzędne. Mam adres miasto i kod pocztowy.

Praktycznie żaden dostarczyciel API do geocodingu nie pozwala na cache danych. Z pewnością nie pozwala na to google - czyli jeśli zrobisz do nich zapytanie o lat,lng na podstawie adresu to nie masz prawa tego zapamiętać po swojej stronie.

1

30 dni chyba można.
https://cloud.google.com/maps-platform/terms/maps-service-terms

Tam jest te z info, że nie można użyć Google Geo API z innymi mapami niż Google. Taki pytanie te tu było.

0

Tak, 30 dni można przechowywać w prywatnej bazie długość i szerokość geograficzną. Czyli z na 30 dni robisz update po prostu. Update i tak chyba jest w planach co jakiś czas więc to nie problem

0

Tak jak już napisałem. Udało mi się zdobyć dane geo. Teraz szukam odpowiedniego darmowego narzędzia dzięki któremu będę mógł to nakładać to na mapę.

1

obejrzyj te kursy, w opisie filmu masz inne części. Po ogarnięciu tego będziesz mógł zrobić to co chcesz :)
Polecam w tym celu utworzyć kontrolkę w WinForms i zahostować ją w okienku WPF następująco
https://stackoverflow.com/questions/2293219/is-it-possible-to-host-a-winform-form-within-a-wpf-form-via-a-container-wrapper

1 użytkowników online, w tym zalogowanych: 0, gości: 1