როგორც 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 50000000

IMAGEPATH "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, აქ დავტოვო ბმული ძირითადი მაგალითები.

3 პასუხი „როგორ მუშაობს Mapserver“

  1. Hello,

    მე ვცდილობ მოვუწოდებ ფენის საწყისი .map შემდეგნაირად:

    LAYER
    NAME test_houses
    TYPE POINT
    CONNECTIONTYPE OGR
    კავშირი # »virtual.ovf»
    »

    xxxxx
    EXEC
    eess_id
    wkbPoint
    WGS84

    »

    ჩემი პრობლემა ისაა, რომ DSN სერვისი ქმნის პრობლემებს: GetCap შესაძლებლობების მოთხოვნისას იგი უბრუნებს მონაცემთა ბაზის პაროლს ... შემიძლია დავურეკო ფაილს, რომ თავიდან ავიცილოთ პაროლის „მიცემა“ თუ ეს არის DSN შეცდომა ???? Გმადლობთ!

  2. MapServer არის პოპულარული ღია პროექტი, რომლის მიზანია დინამიური სივრცული რუკების ნახვა ინტერნეტში. დამონტაჟებული დრაივი არის დრაივერი, რომელიც შეფუთულია ცარიელი საქაღალდეში მოცულობით, რომელიც იყენებს NTFS ფაილურ სისტემას. დამონტაჟებული დისკები ფუნქციონირებს, როგორც ნებისმიერი სხვა დისკები, მაგრამ ისინი მინიჭებული დისკის ბილიკები ნაცვლად წამყვანი წერილები.

დატოვე პასუხი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.