Przypisanie wartości do tablicy z pliku xml

0

Witam. Pisze programik który miał by rysować mapkę na podstawie pomiarów gps. Dane z pomiarów przechowuje w pliku XML-owym w postaci:

<dzialki id="1"> <numer>1</numer> <powierzchnia> 20 </powierzchnia> <typ>Pole </typ> <opis> </opis> <wgps>52.36724 15.49825 52.36724 15.49825 52.36724 15.49825 52.36723 15.49824 52.36722 15.49824... ...52.36709 15.49818</wgps> </dzialki> <dzialki id="2"> ...

Wszystko ładnie szło do momentu aż próbowałem stworzyć tablicę dwuelementową (X Y) ze współrzędnych znajdujacych się miedzy tagami <wgps>.
Problem nie jest natury technicznej, a raczej braków w mojej wiedzy, nie mniej jednak spędziłem trochę czasu próbując go rozwiązać i jako ze widzę że sam tego nie ogarnę proszę o pomoc.

Głownie chodziło by mi o przykład przypisanie owych wartości do tablicy, z pobraniem z XML nie powinienem mieć problemów.

Z góry dziękuje.

0

O ile Cie dobrze zrozumiałem to :
wg mnie, problem jest natury technicznej :P bo chcesz zrobić tablicę 2 wymiarowa gdzie indeksatorami będą wartości float, np
Tablica [52.36724, 15.49825] = jakieś dane
to tak się nie da :P

zależy co potrzebujesz uzyskać, można te wartości wymnożyć przez 100 000 i wyjdzie wartość int, ale to raczej nie jest najszybsze rozwiązanie. Jeśli działasz na małej powierzchni równie dobrze możesz uciąć 3 pierwsze znaki np. 52. czy też 15.

Ja bym zrobił listę klasy ( w klasie public x,y ) i użył do tego ładnie serializacji

0

a ja zrozumialem to inaczej
widze ze masz rozdzielone wspolrzedne spacjami
wiec zakladam ze w zmiennej string wgps; masz wartos tego tagu

var tmpTab[] = wgps.Split(' ');
if (tmpTab.Length % 2 == 1) throw new Exception(); // zakladam ze musi byl przystal liczba wspolrz.

List<PointF> points = new List();

for(int i=0;i<tmpTab.Length; i+=2)
{
points.Add(new PointF(float.Parse(tmpTab[i]), float.Parse(tmpTab[i+1])));
}

i masz liste punktow
jesli potrzebujesz zamiast float, double lub decimal, to zrob wlasna klase/strukture Point z takimi polami

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