|
Powielone dane z MapServer
|
|
10-01-2011, 11:22 AM
Post: #1
|
|||
|
|||
|
Powielone dane z MapServer
Cześć!
Jako nowy, chciałbym się z Wami przywitać ![]() I jednocześnie zadać pytanie, które spędza mi sen z powiek od kilku dni... Mam dane postgisowe, które są na pewno poprawne (QuantumGIS wyświetla je bez problemu). Uruchomiłem MapServer, co by mi te dane publikował, w przeglądarce nawet mogę zobaczyć obrazek, co już jest niewielkim sukcesem. Jednak gdy próbuję wyświetlić dane z MapServera w OpenLayers, dane są powielone, obrazki obok siebie. Gdy zmieniam skalę, nic właściwie się nie zmienia: wciąż obrazki są tego samego rozmiaru i wypełniają całą dostępną przestrzeń. Dane mam zapisane w PostGis w EPSG:2180, co - mam nadzieję, że nie ma tutaj pomyłki - jest jednym z odwzorowań dla Polski. Macie jakieś pomysły, dlaczego mam to powielenie? Jeśli to zbyt enigmatyczne, chętnie rozwinę swoją wypowiedź
|
|||
|
10-01-2011, 01:21 PM
Post: #2
|
|||
|
|||
|
RE: Powielone dane z MapServer
A pokaż swój plik .map (tylko hasło do postgisa wymaż
) i kod OpenLayers (a co najmniej: tworzenie mapy, tej warstwy oraz wstępny zoom mapy)
Borys Jurgiel Zespół Rozwojowy Quantum GIS |
|||
|
10-01-2011, 05:52 PM
(Ten post był ostatnio modyfikowany: 10-01-2011 05:55 PM przez Umberto.)
Post: #3
|
|||
|
|||
|
RE: Powielone dane z MapServer
Staram się uzyskać cokolwiek, na dodatek to dopiero mój wstęp do MapServera, więc bądź wyrozumiały
![]() MapFile: Kod: MAPKawałek z OL, tworzący mapę: Kod: map = new OpenLayers.Map("ap_open_layers_map", { controls: [] });Kawałek z OL, tworzący warstwę WMS: Kod: var roads = new OpenLayers.Layer.WMS("Osie dróg", "http://hubmapserver.org/cgi-bin/mapserv?",Wstępny zoom w OL: Kod: map.setCenter(new OpenLayers.LonLat(16.9, 52.4), 10); |
|||
|
10-01-2011, 08:28 PM
Post: #4
|
|||
|
|||
|
RE: Powielone dane z MapServer
Najpierw podłącz jakiś działający WMS, serwujący w układzie 1992 - jak w przykładzie poniżej. To obiekt map, a nie warstwę, trzeba skonfigurować do pracy w układzie 1992. maxScale wyznacza zerowy poziom zoomu, więc gdy dalej w komendzie MapCenter podaję poziom 2, to on jest liczony od tego miliona. Współrzędne podajesz w układzie 92, a nie w stopniach. W warstwie nie ustawiasz już układu i jednostek, weźmie to z mapy.
Kod: <html> Potem próbuj podłączyć swojego MapServera
Borys Jurgiel Zespół Rozwojowy Quantum GIS |
|||
|
10-01-2011, 10:36 PM
Post: #5
|
|||
|
|||
|
RE: Powielone dane z MapServer
Jak już wspomniał Borys, extenty podaje się w układzie mapy (czyli tutaj 1992) - zarówno w OpenLayers jak i Mapserverze.
Możesz też podejrzeć ten plik http://bpn.e-mapa.net/mapa.js - mapa OL i warstwy WMS w układzie 92 - choć może trochę zagmatwane i niezbyt eleganckie
|
|||
|
10-01-2011, 11:40 PM
(Ten post był ostatnio modyfikowany: 10-01-2011 11:42 PM przez Umberto.)
Post: #6
|
|||
|
|||
|
RE: Powielone dane z MapServer
Bardzo Wam dziękuję za pomoc. Pomogło!
Przeniosłem opis odwzorowania do obiektu OL.Map i z definicji warstwy OL.Layer.WMS usunąłem mode: 'map'. Poprawiłem też wyśrodkowanie na współrzędne odwzorowania - tak w OL, jak i w mapfile'u. Wreszcie widzę swoje warstwy! Mam teraz jeszcze jedno pytanie. Te wszystkie modyfikacje spowodowały, że położenie myszy (OL.Control.MousePosition) przestało wyświetlać współrzędne geograficzne (Lon/Lat), wyświetla współrzędne odwzorowania. Czy można coś z tym zrobić? BTW: miałem już jedną warstwę w 92 wczytywaną, jednak teraz po tych zmianach nareszcie nie jest taka rozciągnięta w poziomie i zaczyna przypominać kawałek Polski. Warstwa, którą wstawił Borys też wygląda całkiem zgrabnie
|
|||
|
11-01-2011, 12:06 AM
Post: #7
|
|||
|
|||
|
RE: Powielone dane z MapServer
Żeby wyświetlać współrzędne w stopniach, obok parametru mapy projection musisz ustawić też displayProjection. Ale to nie wystarczy, bo Ola ma wbudowaną reprojekcję tylko między popularnymi światowymi układami. Żeby to zadziałało z układem 92, musisz ściągnąć i podłączyć w htmlu bibliotekę Proj4js oraz dopisać w swoim skypcie deklarację układu 92:
Kod: Proj4js.defs['EPSG:2180'] = '+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs';Borys Jurgiel Zespół Rozwojowy Quantum GIS |
|||
|
11-01-2011, 10:03 PM
Post: #8
|
|||
|
|||
|
RE: Powielone dane z MapServer
Dzięki, spróbuję na pewno. Dam znać, jak poszło.
|
|||
|
« Starszy wątek | Nowszy wątek »
|

Szukaj
Użytkownicy
Kalendarz
Pomoc




) i kod OpenLayers (a co najmniej: tworzenie mapy, tej warstwy oraz wstępny zoom mapy)
