eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Gdy mamy numery punktow zamiast wspolrzednych
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2014-04-25 19:45:32
    Temat: Gdy mamy numery punktow zamiast wspolrzednych
    Od: Borneq <b...@a...hidden.pl>

    Linie łamane i tym podobne obiekty są zdefiniowane przez numery punktów,
    np: łamana to punkty: 3458247581,1563173017,2710262946,..
    a wcześniej podane, jakie te punkty mają współrzędne.
    Do wyświetlenia potrzebne są współrzędne a nie punkty, czyli potrzebny
    jest konwerter.
    Najprościej jest zrobić tak, że mamy dla każdego punktu trójkę:
    - id_punktu
    - współrzędna X
    - współrzędna Y
    czytamy z pliku, gromadzimy w tablicy, sortujemy po id_punktu a potem
    gdy mamy łamaną to binarnie wyszukujemy punkt
    Problemem jest, że tych punktów może być bardzo dużo, więc ilość pamięci
    wymaganej dla konwertera może być większa niż byśmy chcieli.
    czy można ją ograniczyć?
    Drugą sprawą jest przypadek, gdy mamy definicję punktów, potem obiektów
    odnoszących się do punktów, ale potem znowu punktów i znowu obiektów.
    Więc najprościej byłoby za pierwszym razem przeczytać plik, wyłapać same
    punkty, za drugim razem czytać same obiekty.
    Ale to wymaga dwukrotnego przeczytania pliku, który może być bardzo duży
    i jednokrotne czytanie już trwa dość długo.


  • 2. Data: 2014-04-25 20:01:08
    Temat: Re: Gdy mamy numery punktow zamiast wspolrzednych
    Od: Wojciech Muła <w...@g...com>

    On Friday, April 25, 2014 7:45:32 PM UTC+2, Borneq wrote:
    > Problemem jest, że tych punktów może być bardzo dużo, więc ilość pamięci
    > wymaganej dla konwertera może być większa niż byśmy chcieli.
    > czy można ją ograniczyć?

    Ale dlaczego to jest problemem? Te dane nie mieszczą się dostępnej
    pamięci?

    w.


  • 3. Data: 2014-04-25 20:03:47
    Temat: Re: Gdy mamy numery punktow zamiast wspolrzednych
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-04-25 20:01, Wojciech Muła pisze:
    > Ale dlaczego to jest problemem? Te dane nie mieszczą się dostępnej
    > pamięci?

    dla bardzo dużych plików mogą się nie zmieścić


  • 4. Data: 2014-04-28 10:51:17
    Temat: Re: Gdy mamy numery punktow zamiast wspolrzednych
    Od: Paweł Kierski <n...@p...net>

    W dniu 2014-04-25 20:03, Borneq pisze:
    > W dniu 2014-04-25 20:01, Wojciech Muła pisze:
    >> Ale dlaczego to jest problemem? Te dane nie mieszczą się dostępnej
    >> pamięci?
    >
    > dla bardzo dużych plików mogą się nie zmieścić
    >

    Zakładam, że plik można raz obrobić na początku.

    Przesortować plik wg ID. Podzielić na bloki po k punktów (zrobić indeks
    ID dla 0, 999, 1999 itd. punktu w pliku, jeśli dzielisz co 1000). Każdy
    z tych bloków będzie miał z góry ograniczony rozmiar, dzięki czemu
    łatwo będzie zrobić cache - czytać po bloku i trzymać ostatnio czytane
    w pamięci.

    --
    Paweł Kierski
    n...@p...net

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: