logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zaznaczyć rejony na mapie Warszawy z danymi z Excela?

darek_op 11 Kwi 2008 17:48 6015 11
REKLAMA
  • #1 5019204
    darek_op
    Poziom 12  
    Posty: 94
    Ocena: 43
    Czy ktoś ma pomysł na wykonanie czegoś takiego.
    W arkuszu excela mam (dla uproszczenia) dwie kolumny w pierwszej mam symbol rejonu na mapie w drugiej liczbę od 1 do 5.
    Na planie warszawy mam pozaznaczac określone rejony i przypisacne im jakieś symbole, i w zależności od liczby znajdującej się w drugiej lolumnie powinny one przybiera różne kolory.
  • REKLAMA
  • #2 5021427
    KeinXor
    Poziom 24  
    Posty: 511
    Pomógł: 62
    Ocena: 63
    Witam,
    zrobić da się wszystko... tylko zależy jakim nakładem pracy...
    zależy też z jakich narzędzi masz korzystać.
    Do tego zadania można wykorzystać oprogramowanie MapInfo lub samemu dłubać np. w Delphi ...
  • REKLAMA
  • #3 5023430
    darek_op
    Poziom 12  
    Posty: 94
    Ocena: 43
    Dzięki za odpowiedz.
    Dlaczego w delphi? Z tego co się orientuję to mapinfo jest oprogramowaniem komercyjnym.
    Z tego co pamiętam to excelu jest jakiś dodatek do tworzenia prezentacji związanych z mapami, ale nie wiem jak z niego skorzystać i gdzie on jest
  • #4 5023877
    KeinXor
    Poziom 24  
    Posty: 511
    Pomógł: 62
    Ocena: 63
    Pierwsza sprawa to nie napisałeś w czym chcesz zrealizować to zadanie, ja zrozumiałem że w excelu masz dane z których to chcesz skorzystać.
    MapInfo jest oczywiście komercyjnym oprogramowaniem.
  • #5 5025486
    wikktor
    Poziom 12  
    Posty: 37
    Pomógł: 2
    Ocena: 3
    Ale w jakiej formie masz mapę na której chcesz zaznaczać?
    Najwygodniejszy by był zwykły obrazek. Konwertujesz go do RAW, wczytujesz w programie. Dane Exela exportujesz do txt. Na podstawie 2 odległych punktów ręcznie przeskalowujesz współrzędne na pixele, zaznaczasz, zapisujesz, konwertujesz do mocnego jpg i po robocie.
  • REKLAMA
  • #6 5476582
    darek_op
    Poziom 12  
    Posty: 94
    Ocena: 43
    Czy mógłbys napisac cos bliżej.
    Cytat:
    Najwygodniejszy by był zwykły obrazek. Konwertujesz go do RAW, wczytujesz w programie. Dane Exela exportujesz do txt. Na podstawie 2 odległych punktów ręcznie przeskalowujesz współrzędne na pixele, zaznaczasz, zapisujesz, konwertujesz do mocnego jpg i po robocie.


    obrazek mam w JPG. Jak go przekonwertować do RAW (dlaczego akurat taki format) , w jakim programie go otwieram? I co dalej
  • #7 5477228
    Sam Sung
    Poziom 33  
    Posty: 2034
    Pomógł: 227
    Ocena: 605
    Analiza problemu to podstawa. Podaj:
    - jakie są dane wejściowe
    - co ma być wynikiem działania programu
    bo co ma się stać, to już mniej więcej napisałeś.
    Jeszcze byłoby dobrze zdefiniować pojęcia:
    - rejon - w jaki sposób jest określony (dany)
    - symbol rejonu - co to jest i w jakiej formie
  • #8 5477950
    darek_op
    Poziom 12  
    Posty: 94
    Ocena: 43
    Rejon czyli obszar na mapie ograniczony konkretnymi ulicami, musi posiadać numer. W arkuszu excela obok numeru rejonu pojawia się cyfra od 1 do 5 której zmiana powoduje podświetlenie rejonu na konkretny kolor.
  • #9 5478024
    Sam Sung
    Poziom 33  
    Posty: 2034
    Pomógł: 227
    Ocena: 605
    Czyli mając dane:
    - mapę rastrową Warszawy
    - słownik par (numer rejonu, kod koloru)
    - tablicę kolorów przypisanych do kodów kolorów
    chcesz pokolorować obszary rejonów na mapie rastrowej.
    Do tego brakuje jeszcze danych o obszarach rejonów - przełożenia numeru rejonu na obszar mapy do zakolorowania. Czy te informacje są dostępne oddzielnie, czy może są zaszyte w mapie (mapa jest jakoś spreparowana)? Być może trzebaby mapę dopiero spreparować, przydałoby się np. coś takiego: ulice rozgraniczające rejony narysowane unikalnym niepowtarzającym się kolorem, do tego słownik par (numer rejonu, współrzędne pierwszego lepszego piksela w tym rejonie) i można wtedy kolorować rejony lekko zmodyfikowanym algorytmem "pożar prerii". Mapa taka powinna być przechowywana w formacie bez stratnej kompresji, czyli nie jpg tylko np. bmp.
  • REKLAMA
  • #10 5478066
    maciek_slon
    Poziom 29  
    Posty: 942
    Pomógł: 143
    Ocena: 27
    Można też dodać coś w stylu słownika przechowującego nr regionu wraz ze współrzędnymi jego wierzchołków (najczęściej wystarczą 4 wierzchołki, jako że większość regionów będzie czworokątami), a pokolorowanie czworokąta to już jest w większości bibliotek graficznych.
  • #11 5480772
    darek_op
    Poziom 12  
    Posty: 94
    Ocena: 43
    Mapę mogę podzielić na poszczególne rejony jeżeli jest taka potrzeba. Wystarczy wtedy wydzielone rejony poukładać obok siebie by stworzyły ponownie całą mapę. Taką operację mogę wykonać w Corelu i z tym sobie poradzę, będę miał wtedy kliladziesiąt plików o niepowtarzalnych nazwach. Czy to wystarczy . Z tego co pisze Sam Sung wystarczająće byłoby wydzielenie obszarów unikalnym kolorem z tyn też bez problemu bym sobie poradził. Jako żę jedna i druga czynność będzie wymagała bardzo dużego nakładu pracy muszę wybrać jedną z opcji, żeby nie wykonywać podwójnej pracy.
  • #12 5480870
    Sam Sung
    Poziom 33  
    Posty: 2034
    Pomógł: 227
    Ocena: 605
    Podział na osobne pliki dla każdego rejonu to niezły pomysł - trzeba ustalić kolor obszaru rejonu i porobić pliki z każdym rejonem zamalowanym tym kolorem.
    Potem dla każdego wpisu w tabelce - czyli pary (nr rejonu, kolor) - można wczytać plik z rejonem i ustalony unikalny kolor wypełnienia zmienić na żądany, oraz dodać do tworzonego wynikowego obrazu.
    W sumie myślę, że taką operację można wykonać jednym wywołaniem programu convert z pakietu ImageMagick. Przy czym trzeba najpierw sparsować tabelkę Excela (łatwiej będzie wyeksportowany plik CSV) i wygenerować linię polecenia, a będzie dość długa, skryptem np. w Pythonie.
    Prawdopodobnie można też to zrobić wewnątrz Excela makrem w Visual Basicu (nie znam się na tym).
    Jeśli nie byłoby problemu z przyporządkowaniem każdemu rejonowi unikalnego, znanego koloru, to nie trzebaby robić oddzielnych plików, tylko na mapie wejściowej wypełnić każdy rejon przypisanym mu kolorem i potem do ImageMagicka przekazywać w parametrach, jaki kolor ma na jaki zamienić.
    Jeśli trzeba dodatkowo zaznaczać na mapie jakieś symbole, to ImageMagick umie też dopisywać teksty na obrazku, tylko trzeba mu podać co i gdzie, więc trzebaby też mieć dane dla każdego rejonu współrzędne x i y miejsca, gdzie ma się pojawić symbol.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy sposobu zaznaczania i kolorowania rejonów na mapie Warszawy na podstawie danych z Excela, gdzie w jednej kolumnie jest symbol rejonu, a w drugiej liczba od 1 do 5 determinująca kolor. Proponowane rozwiązania obejmują wykorzystanie oprogramowania komercyjnego MapInfo lub programowanie własne (np. w Delphi). Wskazano, że mapa powinna być w formacie bezstratnym (np. BMP zamiast JPG) dla lepszej edycji. Sugerowano podział mapy na osobne pliki graficzne dla każdego rejonu, które można potem kolorować i łączyć w całość. Do przetwarzania i łączenia plików polecano użycie narzędzia ImageMagick wraz ze skryptem (np. w Pythonie) do parsowania danych z Excela (eksport CSV). Alternatywnie można rozważyć makra w Visual Basic w Excelu. Kluczowe jest posiadanie słownika rejonów z przypisanymi współrzędnymi lub unikalnymi kolorami, co umożliwia automatyczne kolorowanie obszarów na mapie. Wskazano również, że ręczne skalowanie współrzędnych i konwersja obrazów mogą być potrzebne, a podział mapy na rejony można wykonać w programie Corel.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA