Mapserver işleri gibi
Son kez bazı kriterler neden bahsettik MapServer ve kurulumun temelleri. Şimdi Chiapas işaretlerinin haritaları ile bir alıştırmada işleyişinin bir kısmını görelim.
Nerede bağlar
Apache yüklendikten sonra, MapServer için varsayılan yayınlama dizini OSGeo4W klasörünün doğrudan C: /
İçeride, yüklü olana bağlı olarak uygulamaların bulunduğu farklı klasörler vardır, ancak yayınlama klasörü apache'nin içine girmelidir. Bu durumda klasör gis olarak adlandırılır.
- Klasör veri katmanları, orthophoto, vb içerir içte
- Etc klasöründe, etiketler için kullanılan, .ttf uzantılı gerçek tip yazı tipleri vardır. Ayrıca burada onları kaldıran bir txt dosyası ve sembolleri tanımlayan başka bir dosya var.
- Ve nihayet klasör httdocs web sayfalarını bu hizmet kadar gitmek.
website
Örnekte, geçen sefer gösterilen durumu kullanacağım. Temelde bir phtml uzantısına yönlendiren bir dizin dosyası içerir ve bu da bir php ve haritaların üzerine inşa edilen işlevleri yükseltir. Bir klasör, sayfadan bağlantılı görüntüleri içerir.
Buna bakarsak, phtml sadece tablolardan oluşturulmuş kabuktur ve mapscript / php işlevlerini çağırır. Kullanarak kalkmalısınız:
http://localhost/gis/gispalenque.phtml
gösterilen sonucu aşağı Koşu:
- fonksiyon merkezi GMapDrawMap (),
- Sağ çağrı Klavye düzeni GMapDrawKeyMap (),
- Aşağıdaki ölçek çubuğu GMapDrawScaleBar (),
- ve dağıtım fonksiyonlarının eğer bir koşul listbox ilgili eğer (! IsHtmlMode ()) echo " kararları ile: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Zaten çalışan, ekran aşağıdaki gibidir:
.map dosyalar
Mapserver'ın yayınının birleşimi, Apache'nin ortaya attığı şeydir; PHP, mapscript ve sonra o kabuktan çıkar. Ancak bilimin çoğu .map dosyalarındadır, Mapinfo, Manifold veya Mobile Mapper Office tarafından aynı uzantıya sahip olanlarla karıştırılmamalıdır.
Bu .map'ler, haritayı komut dosyası biçiminde içeren metin dosyalarıdır. Ana harita için bir tane, Keymap için bir tane ve OGC wms ve wfs hizmetleri için iki tane olduğunu fark ederseniz, bunlar Quantum GIS gibi masaüstü programları ile oluşturulabilir. Mapscript'in nasıl çalıştığını görelim:
MAP
ADI PALENQUE_DEMO
DURUM AÇIK
BOYUT 600 450
SYMBOLSET ../etc/symbols.txt
Palenque TÜM #VISTA haritası OF 604299 1933386 610503 1939300 ÖLÇÜDE
#EXTENT 605786 1935102 608000 1938800 01 #SOLO SEKTÖR
BİRİMLERİ METRE
SHAPEPATH "../data"
ŞEFFAF ÜZERİNE
IMAGECOLOR 255 255 255
fontset ../etc/fonts.txt
- MAP senaryoyu başlatır gösterir
- DURUM varsayılan olarak harita üzerinde olup olmadığını gösterir
- BOYUTU dağıtım boyutudur
- SYMBOLSET sembollerin yolunu gösterir
- EXTENT, ekran koordinatlarıdır. # Sembolü açıklama yapmak için kullanılır
- birimleri için BİRİMLERİ
- SHAPEPATH, katmanlardır yolu
- Sonunda tüm SON komutuyla sona erecek
İçeride, kod, bir komut satırı ile başlar ve örnek minimum ve maksimum seviye için, END ile biter; Görüntülerin geçici dizini:
WEB
MINSCALE 2000000
MAXSCALE 50000000ImagePath "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Ölçek çubuğu:
ölçek çubuğu
IMAGECOLOR 255 255 255
ETİKET
RENK 0 0 0
KÜÇÜK BOY
END
BOYUT 300 5
RENK 255 255 255
ARKA PLANLAMA 0 0 0
OUTLINECOLOR 0 0 0
BİRİM kilometre
ARALIKLAR 3
DURUM AÇIK
END
Veri klasöründe bulunan bir tiff'ten listede "Orthophoto" olarak bir açıklama ile arka planda giden bir raster katmanı:
KAT
NAME orthophoto
METADATA
"AÇIKLAMA" "OrtoFoto"
END
TİP RASTER
DURUM KAPALI
VERİ "C: \ OSGeo4W / apps / gis / veri / ortofotoGral.tif"
#OFFSITE 0 0 0
END
Bir etiket sans yazı ile bir HTML şablonu bazı veriler yükselterek kriterlere dayalı bir katman shp poligon tematizada, boyut 6, siyah ve beyaz kenarları 5 tampon ...
KAT
NAME sektörü02Zone
TİP POLYGONU
DURUM KAPALI
ŞEFFAFLIK 50
KAPSAM 607852 1935706 610804 1938807 META VERİ
"AÇIKLAMA" "Değer Sektörüne göre Tema 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred pervane Alan Perimetresi VALUE"
END
VERİ PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANS 5
#TOLERANCEUNITS PİKSELLER
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE AÇIK
SINIF
SEMBOL 1
RENK 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZonaNULL"
EXPRESSION ([VALUE] = 0)
ETİKET
AÇIK OTOMATİK
RENK 0 0 0
FONT sans
TİP TRÜETİL
POSITION cc
YANLIŞ partials
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
END
END #class 0 değeri
SINIF
SEMBOL 3
RENK 255 128 128
#COLOR -1 -1 -1 #SIN DOLDURMA
.... ve bu kadar yakın
END
END # Sınıf Değeri
SON # Katman
Sonuç olarak;
Bu nedenle, mapserver ile çalışmak, oldukça basit olmasına rağmen, büyük işler için karmaşık ve çok sınırlı hale gelir çünkü her şey. En büyük dezavantajı, her bir rengi bir temada tanımlamak gibi her şeyin yaya olarak yapılmasıdır ve bu nedenle, Mapserver üzerinde çalışan ancak bu ilkel sürümü benzeyen özelliklere sahip yerleşik eklentiler ve örnekler getiren CartoWeb gibi araçlar ortaya çıkar. ilk readme:
- Ayrı çerçeveler ayrı ayrı yenilemek amacıyla AJAX ile çalışmak
- Bir komut yapılandırılabilir kriterlere dayalı .map yeniden yazmak, böylece kod Ayrıştırma
- bir flash katmanmış gibi, yenileme gerektirmeden Geri dinamik deplasman
- vektör düzenleme çevrimiçi, üzerine yazı yazılabilen cache
- vektör formunda boşaltma katmanı
- Google Earth'e aktar
- Dağıtım PDF oluşturun
Daha sonra CartoWeb'e bir göz atacağız, burada ana örneklere bağlantıyı bırakıyorum.
standart çıktı şablon phtml sayesinde sahip Hiçbir şekilde
Merhaba,
Ben şöyle .map bir katmanı ulaşmaya çalışıyorum:
KAT
ADI casas_prueba
TİP NOKTASI
ConnectionType OGR
BAĞLANTI #”virtual.ovf”
başlıklı bir kılavuz yayınladı
xxxxx
YÜRÜT …….
eess_id
wkbPoint
WGS84
başlıklı bir kılavuz yayınladı
Benim sorunum, DSN hizmetinin sorunlara neden olması: GetCapabilities istenirken veritabanı parolasını döndürüyor... Parolayı "vermekten" kaçınmak için bir dosyaya çağrı yapabilir miyim yoksa bu bir DSN hatası mı???? Teşekkürler!
MapServer, amacı, İnternet üzerinden dinamik uzamsal haritaları görüntülemek olan popüler bir Açık Kaynak projesidir. Takılı bir sürücü, NTFS dosya sistemini kullanan bir birimdeki boş bir klasöre eşlenen bir sürücüdür. Monte edilmiş sürücüler diğer tüm sürücüler gibi çalışır, ancak sürücü harfleri yerine sürücü yolları atanır.