Bartłomiej Budz

Bartłomiej Budz Software Developer,
Sabre Airline
Solutions

Temat: SHP -> KML - problem z izoliniami

Witam

Piszę projekt inżynierski związany z GIS, a dokładnie ma być to portal map akustycznych. Nie ukrywam, że jest to dla mnie całkiem nowa tematyka (GIS i geoinformatyka, natomiast znam się trochę na technologiach webowych).

1. Mapy które mam wyświetlić zapisane są w plikach SHP. Dla każdej mapy 3 warstwy - ulice, budynki oraz izolinie.

2. Z tego co orientuję się, najprościej byłoby dla mnie przekonwertować SHP na KML i wyświetlić np. w OpenLayers (a nawet opcjonalnie w Google Maps lub Earth). Nie potrzebowałbym wtedy serwera WMS (dobrze myślę?).

3. Udało mi się zrobić konwersję w QuantumGIS... ale tylko teoretycznie, bo w praktyce, kiedy przeciągnę pliki do GoogleEarth, lub wyświetlę w OpenLayers, to budynki i ulice są wyświetlane poprawnie, natomiast izolinie wogóle nie są wyświetlane. Nie ma jakiegoś nakładania się map-same izolinie też nie chcą si wyświetlić. W QuantumGIS wyświetlały się poprawnie, w miejscach pomiaru hałasu.

i tu rodzi się moje pytanie - czy możecie polecić lepszy konwerter do KML, albo ogólnie dopomóc? :)

pozdrawiam i z góry dziękuję za pomoc
Błażej Kozicki

Błażej Kozicki ochrona środowiska

Temat: SHP -> KML - problem z izoliniami

czy nie lepiej przerzucić całej mapy akustycznej w postaci np. jpg do GE jako obraz nad powierzchnią ?

sam tak robię, na czym dokładnie ma polegać twoja praca ?

...bo tak sobie myślę , jest jeszcze jedna ciekawa możliwość tworzenia interaktywnych map akustycznych, sam nigdy tego nie próbowałem (brak czasu) ale może warto się nad wykorzystaniem tego pochylić -> http://www.maptube.org

konto usunięte

Temat: SHP -> KML - problem z izoliniami

Co mi przychodzi do głowy...
Czy w QGIS wszystkie warstwy (ulice, budynki, izolinie) są widoczne w tej samej lokalizacji, czy może się "rozjeżdzają"?
Czy sprawdzałeś, czy shp z izoliniami posiada przypisany układ współrzędnych? Czy przy konwersji do kml nadajesz plikowi odpowiedni układ (WGS84)?
Karol Stachura

Karol Stachura Nie ma na świecie
rzeczy niemożliwych
- są tylko mało
pra...

Temat: SHP -> KML - problem z izoliniami

A te izolinie nie są przypadkiem łukami lub splajnami z którymi sobie konwertery nie radzą ?
Bartłomiej Budz

Bartłomiej Budz Software Developer,
Sabre Airline
Solutions

Temat: SHP -> KML - problem z izoliniami

Błażej Kozicki:
czy nie lepiej przerzucić całej mapy akustycznej w postaci np. jpg do GE jako obraz nad powierzchnią ?

moja praca ma temat "implementacja portalu map akustycznych" i raczej w takiej formie nie przejdzie
maptube.com obczaję, dzieki za link
Andrzej Horbacz:
Co mi przychodzi do głowy...
Czy w QGIS wszystkie warstwy (ulice, budynki, izolinie) są widoczne w tej samej lokalizacji, czy może się "rozjeżdzają"?
Czy sprawdzałeś, czy shp z izoliniami posiada przypisany układ współrzędnych? Czy przy konwersji do kml nadajesz plikowi odpowiedni układ (WGS84)?

wszystkie mapy są widoczne w tej samej lokalizacji
mapy budynków są w układzie "ETRS89"
ulic chyba w "Pulkovo 1942(58)"
i one działają ok, bez zmiany układu odniesienia
natomiast izolinie mają taki plik prj:
GEOGCS["Krassovsky, 1942",DATUM["unknown",SPHEROID["krass",6378245,298.3]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]


Po zmianie układu na Mercator (Google Mercator, EPSG3857 itp.), jak mi radzono mapy wyświetlają mi się poprawnie w Google w sensie kształtu, niestety zmienia sie lokalizacja - zamiast w Kielcach mapa jest gdzieś głęboko w Rosji, w okolicach Łabińska.
Jak tylko rozwiążę ten problem z "teleportacją" to w zasadzie będzie po wszystkim ;) także w miarę możliwości proszę o pomoc w znalezieniu właściwego układu - co do WGS-84 to nie moge go znaleźć w QGIS - czy funkcjonuje pod inną nazwą?
Karol Stachura:
A te izolinie nie są przypadkiem łukami lub splajnami z którymi sobie konwertery nie radzą ?

nie, nie ma tam ani łuków ani splajnów, są tylko krzywe o skomplikowanych kształtach

Temat: SHP -> KML - problem z izoliniami

WGS84 w Quantum GIS ma standardowy kod EPSG:4326.
Bartłomiej Budz

Bartłomiej Budz Software Developer,
Sabre Airline
Solutions

Temat: SHP -> KML - problem z izoliniami

WGS84 nie pomogło... może wrzucę parę screenów, to rozjaśni sytuację

1. Ulice i izolinie razem w QGIS - bez ustawiania układu odniesienia, po prostu dodaję 2 warstwy wektorowe

Obrazek

jak widać ładnie się nachodzi - pokazałem tu fragment, widać np. ulicę warszawską i pomiary na niej

2. Ulice w Google Earth po konwersji na KML (bez zmiany układu odniesienia)

Obrazek

tu z kolei widać, że ulice ładnie nakładają się na zdjęcia satelitarne

3. izolinie w Google Earth po konwersji na KML (zmiana układu odniesienia na Google Mercator)

Obrazek

kształt izolinii jest zachowany ale wyświetla je gdzieś w Rosji

4. to samo co wyżej, układ WSG84 (EPSG:4326)

Obrazek

a to dopiero psikus ;)

pozdrawiamBartłomiej Budz edytował(a) ten post dnia 05.11.11 o godzinie 12:56

Temat: SHP -> KML - problem z izoliniami

A próbowałeś otworzyć KML w notatniku i popatrzeć na współrzędne, jakie powstają po konwersji do WGS84?
I druga sprawa - co pokazuje Quantum w oknie Właściwości warstwy, zakładka Metadane, pole Przestrzenny układ odniesienia warstwy po jej załadowaniu?Michał Mackiewicz edytował(a) ten post dnia 05.11.11 o godzinie 18:01
Michał Rolka

Michał Rolka zwykły, prosty
informatyk...

Temat: SHP -> KML - problem z izoliniami

A jakie współrzędne wyświetlają się w QGIS przy otwartych ulicach i izoliniach? (podaj jakąś dowolną parę z obszaru)
Bartłomiej Budz

Bartłomiej Budz Software Developer,
Sabre Airline
Solutions

Temat: SHP -> KML - problem z izoliniami

Michał Mackiewicz:
A próbowałeś otworzyć KML w notatniku i popatrzeć na współrzędne, jakie powstają po konwersji do WGS84?

<?xml version="1.0" encoding="utf-8" ?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document><Folder><name>iz</name>
<Schema name="iz" id="iz">
<SimpleField name="Name" type="string"></SimpleField>
<SimpleField name="Description" type="string"></SimpleField>
<SimpleField name="NAZWA" type="string"></SimpleField>
<SimpleField name="GROUP_TXT" type="string"></SimpleField>
<SimpleField name="ABS_HEIGHT" type="float"></SimpleField>
<SimpleField name="REL_HEIGHT" type="float"></SimpleField>
<SimpleField name="D�UGO��" type="float"></SimpleField>
<SimpleField name="OBSZAR" type="float"></SimpleField>
<SimpleField name="Z_ABS" type="string"></SimpleField>
<SimpleField name="KLUCZ" type="string"></SimpleField>
</Schema>
<Placemark>
<Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>
<ExtendedData><SchemaData schemaUrl="#iz">
<SimpleData name="NAZWA">35.0</SimpleData>
<SimpleData name="GROUP_TXT">Grupa 0</SimpleData>
<SimpleData name="ABS_HEIGHT">-99.00000000</SimpleData>
<SimpleData name="REL_HEIGHT">35.00000000</SimpleData>
<SimpleData name="D�UGO��">19.49836071</SimpleData>
<SimpleData name="OBSZAR">21.71282091</SimpleData>
<SimpleData name="Z_ABS">F</SimpleData>
<SimpleData name="KLUCZ">HLIN000</SimpleData>
</SchemaData></ExtendedData>
<LineString><coordinates>-102.53263467364013,5498215.0,35 -103.57692467048764,5498210.0,35 -105.0,5498208.7331009861,35 -106.28897049184889,5498210.0,35 -106.25883798673749,5498215.0,35 -105.0,5498217.0928831082,35 -102.53263467364013,5498215.0,35</coordinates></LineString>
</Placemark>
<Placemark>
<Style><LineStyle><color>ff0000ff</color></LineStyle><PolyStyle><fill>0</fill></PolyStyle></Style>
<ExtendedData><SchemaData schemaUrl="#iz">
<SimpleData name="NAZWA">35.0</SimpleData>
<SimpleData name="GROUP_TXT">Grupa 0</SimpleData>
<SimpleData name="ABS_HEIGHT">-99.00000000</SimpleData>
<SimpleData name="REL_HEIGHT">35.00000000</SimpleData>
<SimpleData name="D�UGO��">19.44268729</SimpleData>
<SimpleData name="OBSZAR">20.17009806</SimpleData>
<SimpleData name="Z_ABS">F</SimpleData>
<SimpleData name="KLUCZ">HLIN000</SimpleData>
</SchemaData></ExtendedData>
<LineString><coordinates>-97.642047113738954,5498615.0,35 -100.0,5498610.1752867708,35 -102.41833411063999,5498615.0,35 -100.0,5498618.6212189663,35 -97.642047113738954,5498615.0,35</coordinates></LineString>
</Placemark>

(...)
Michał Mackiewicz:
I druga sprawa - co pokazuje Quantum w oknie Właściwości warstwy, zakładka Metadane, pole Przestrzenny układ odniesienia warstwy po jej załadowaniu?

+proj=longlat +ellps=krass +no_defs

Michał R.:
A jakie współrzędne wyświetlają się w QGIS przy otwartych ulicach i izoliniach? (podaj jakąś dowolną parę z obszaru)

np. 4608419,5498164

Temat: SHP -> KML - problem z izoliniami

To chyba mamy winnego - złą definicję w pliku PRJ.
Współrzędne izolinii są ewidentnie współrzędnymi płaskimi, a definicja wskazuje na współrzędne geograficzne w układzie Pułkowo 42. Stąd przy konwersji wychodzą wartości z kosmosu.
Spróbuj zatem przed konwersją ustawić układ dla izolinii na identyczny, jak ulic: prawy klik > Właściwości warstwy > Ogólne> Podaj układ współrzędnych..Michał Mackiewicz edytował(a) ten post dnia 07.11.11 o godzinie 22:23
Michał Rolka

Michał Rolka zwykły, prosty
informatyk...

Temat: SHP -> KML - problem z izoliniami

Bartłomiej Budz:
Michał R.:
A jakie współrzędne wyświetlają się w QGIS przy otwartych ulicach i izoliniach? (podaj jakąś dowolną parę z obszaru)

np. 4608419,5498164

To MSZ układ 1965 strefa 1 (EPSG3120). Włącz w QGIS translację układów w locie i spróbuj doprowadzić sytuację do porządku.
Bartłomiej Budz

Bartłomiej Budz Software Developer,
Sabre Airline
Solutions

Temat: SHP -> KML - problem z izoliniami

Dziękuję bardzo za podpowiedzi - w końcu udało się.
Poniżej zrzut z Google Earth.

Obrazek


Temat uważam za zamknięty, aczkolwiek może jeszcze napiszę jeśli będę miał jakiś problem. Pozdrawiam i jeszcze raz dziękuję.

Następna dyskusja:

Problem z importem shp do g...




Wyślij zaproszenie do