როგორც Mapserver მუშაობს
ბოლო დროს ჩვენ ისაუბრა, თუ რატომ რამდენიმე კრიტერიუმი MapServer და ინსტალაციის საფუძვლები. ახლა ვნახოთ მისი ზოგიერთი მოქმედება ვარჯიშში Chiapas მეგობრების რუქებით.
სად არის დამონტაჟებული
მას შემდეგ, რაც Apache დამონტაჟებულია, ნაგულისხმები საგამომცემლო დირექტორია MapServer არის ფოლდერი OSGeo4W პირდაპირ C: /
შიგნით, არსებობს სხვადასხვა საქაღალდე პროგრამებით, რაც დამოკიდებულია იმაზე, თუ რა არის დაინსტალირებული, მაგრამ საქაღალდე უნდა გამოქვეყნდეს apache- ში. ამ შემთხვევაში საქაღალდე gis.
- შემდეგ შიგნით, მონაცემთა საქაღალდეში შეიცავს ფენებს, orthophoto და ა.შ.
- და ა.შ. საქაღალდეში მოცემულია ჭეშმარიტი ტიპის შრიფტები, რომლებიც გამოიყენება ეტიკეტისთვის .ttf გაფართოებით. აქ ასევე არის txt ფაილი, რომელიც ამაღლებს მათ და სხვა, რომელიც განსაზღვრავს სიმბოლოებს.
- და საბოლოოდ ფოლდერში ჰოლანდიაში გადადიხარ ვებ გვერდებზე, რომელიც აყენებს სერვისს.
ვებ გვერდი
მაგალითში გამოვიყენებ ბოლოს ნაჩვენებ საქმეს. ეს ძირითადად შეიცავს ინდექს ფაილს, რომელიც გადამისამართდება phtml გაფართოებაზე და ეს, თავის მხრივ, ზრდის php- ზე და რუკებზე აგებულ ფუნქციებს. საქაღალდე შეიცავს გვერდთან დაკავშირებულ სურათებს.
თუ მას დავაკვირდებით, phtml მხოლოდ მაგიდებიდან აგებული გარსია და მოუწოდებს mapscript / php ფუნქციებს. უნდა ადგეთ:
http://localhost/gis/gispalenque.phtml
ქვემოთ შედეგია:
- ცენტრში ფუნქცია GMapDrawMap (),
- მარჯვნივ ზარი keymap GMapDrawKeyMap (),
- ქვემოთ მოყვანილი ბარი GMapDrawScaleBar (),
- და განლაგების ფუნქციების შემთხვევაში, სტატუსის შესახებ შეტყობინება თუ (! IsHtmlMode ()) echo " გადაწყვეტილებებით: ZOOM_IN, ZOOM_OUT, მიმღები, QUERY_POINT.
უკვე გაშვებული, განლაგება ასე გამოიყურება:
.map ფაილები
რუკების გამომცემლობის კომბინაცია არის Apache, რომელიც აგზავნის PHP- ს მეშვეობით mapscript და ეს მაშინ გამოდის იმ ჭურვიდან. მაგრამ მეცნიერების უმეტესი ნაწილი მდებარეობს .map ფაილებში, რომ არ იყოს დაბნეული Mapinfo- ს, Manifold- ის ან Mobile Mapper Office- ის მიერ იგივე გაფართოებით.
ეს .map არის ტექსტური ფაილი, რომელიც შეიცავს რუკას სკრიპტის სახით. ეს შეიძლება შეიქმნას დესკტოპის პროგრამებით, როგორიცაა Quantum GIS, თუ გადავხედავთ აქ არის ერთი მთავარი რუქა, ერთი Keymap და ორი OGC wms და wfs სერვისებისთვის. მოდით ვნახოთ, როგორ მუშაობს mapscript:
MAP
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
PALENQUE- ის ყველა რუკის EXTENT 604299 1933386 610503 #LIST
#EXTENT 605786 1935102 608000 #SOLO THE XIX სექტორი
UNITS METERS
შაფეპათი "../data"
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP მიუთითებს სცენარის დასაწყებად
- STATUS, მიუთითებს თუ არა ნაგულისხმევი რუკა ან თუ არა
- SIZE არის ზომა განლაგება
- SYMBOLSET გვიჩვენებს სიმბოლოების გზას
- EXTENT არის ჩვენების კოორდინატები. # სიმბოლო გამოიყენება ანოტაციების შესაქმნელად
- ერთეული ერთეული
- SHAPEPATH, გზა, სადაც ფენები არიან
- საბოლოო ჯამში ყველაფერი დასრულდება END ბრძანებით
Inside, კოდი იწყება ბრძანებათა სტრიქონით და მთავრდება END- თან, მაგალითად მინიმალური და მაქსიმალური მასშტაბისთვის; დროებითი სურათების დირექტორია:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
მასშტაბი ბარი:
სკალერბარი
IMAGECOLOR 255 255 255
LABEL
ფერები 0 0 0
ზომა პატარა
END
SIZE 300 5
ფერები 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS კილომეტრია
INTERVALS 3
STATUS ON
END
რასტრული შრე: ეს მიდის ფონზე, ჩამონათვალში აღწერილია, როგორც "Orthophoto", მონაცემთა საქაღალდეში განთავსებული ტიფიდან:
LAYER
NAME orthophoto
მეტადატა
"DESCRIPTION" "OrtoFoto"
END
TYPE RASTER
პირობები
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END
პოლიგონების შპფ-ის ფენა, მათზე დაფუძნებული კრიტერიუმების საფუძველზე, HTML- ის თარგის ზოგიერთი მონაცემების ამოღება, რომელთა შრიფტის შრიფტი, ზომა 6, შავი ფერისა და 5 ბუფერის თეთრი კიდეები ...
LAYER
NAME სექტორი 02Zone
TYPE POLYGON
პირობები
TRANSPARENCY 50
EXTENT 607852 1935706 610804 1938807 METADATA
"DESCRIPTION" "თემა ღირებულების სექტორის მიხედვით 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop ფართობი პერიმეტრი VALUE"
END
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
ტოლერანტობა 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ჩართულია
კლასი
SYMBOL 1
ფერები 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZoneNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
ფერები 0 0 0
ფონტის sans
TYPE TRUETYPE
პოზიცია cc
შედეგები FALSE
BUFFER 5
ზომა 6
OUTLINECOLOR 200 200 200
END
END #class 0 მნიშვნელობა
კლასი
SYMBOL 3
ფერები 255 128 128
#COLOR-1-1-1 # SIN FILLING
.... და ასე ახლოს
END
END #Class Value
END # Layer
დასასრულს
მაშასადამე, mapserver- თან მუშაობა, მართალია საკმაოდ მარტივია, რთული და ძალიან შეზღუდული ხდება დიდი სამუშაოებისთვის, რადგან ყველაფერი .map- შია. ყველაზე დიდი მინუსი ის არის, რომ ყველაფერი კეთდება ფეხით, მაგალითად, თითოეული ფერის განსაზღვრა თემატიკაში და ამის გამო წარმოიქმნება ისეთი ინსტრუმენტები, როგორიცაა CartoWeb, რომელიც მუშაობს Mapserver– ზე, მაგრამ მოაქვს ჩამონტაჟებული დანამატები და მაგალითები მახასიათებლებით, რომლებიც ამ პრიმიტიულ ვერსიას ჰგავს. პირველი წაკითხვა:
- სამუშაოს ცალკეული ჩარჩოები AJAX- სთან ერთად, რათა განმეორდეს ისინი
- კორექტირება კოდი, რადგან სცენარი გადაწერილია .map საფუძველზე parametrizable კრიტერიუმები
- დინამიური გადაადგილების გარეშე განახლების გარეშე განახლება, თითქოს ეს იყო ფლეშ ფენა
- ონლაინ ვექტორული რედაქტირება, დაუყოვნებლივ ქეში ჩაწერეთ
- ჩამოტვირთეთ ფენა ვექტორული ფორმით
- ექსპორტი Google Earth- ში
- გენერირება PDF დან განლაგებას
მომდევნო ჩვენ შევხედავთ CartoWeb, აქ დავტოვო ბმული ძირითადი მაგალითები.
არსებობს გზა აქვს სტანდარტული HTML template გამოდის, მადლობა
Hello,
მე ვცდილობ მოვუწოდებ ფენის საწყისი .map შემდეგნაირად:
LAYER
NAME test_houses
TYPE POINT
CONNECTIONTYPE OGR
კავშირი #"virtual.ovf"
"
xxxxx
EXEC
eess_id
wkbPoint
WGS84
"
ჩემი პრობლემა ის არის, რომ DSN სერვისი იწვევს პრობლემებს: GetCapabilities-ის მოთხოვნისას ის აბრუნებს მონაცემთა ბაზის პაროლს... შემიძლია დარეკვა ფაილზე, რათა თავიდან ავიცილო პაროლის "გაცემა" თუ ეს DSN შეცდომაა???? მადლობა!
MapServer არის პოპულარული ღია პროექტი, რომლის მიზანია დინამიური სივრცული რუკების ნახვა ინტერნეტში. დამონტაჟებული დრაივი არის დრაივერი, რომელიც შეფუთულია ცარიელი საქაღალდეში მოცულობით, რომელიც იყენებს NTFS ფაილურ სისტემას. დამონტაჟებული დისკები ფუნქციონირებს, როგორც ნებისმიერი სხვა დისკები, მაგრამ ისინი მინიჭებული დისკის ბილიკები ნაცვლად წამყვანი წერილები.