Sut mae Mapiwr yn Gweithio

Y tro diwethaf buom yn siarad am rai meini prawf pam MapServer a hanfodion gosod. Nawr, gadewch i ni weld peth o'i weithrediad mewn ymarfer gyda mapiau curadau Chiapas.

 mapiwrver geoserver Lle mae'n cael ei osod

Ar ôl gosod Apache, y cyfeiriadur cyhoeddi diofyn ar gyfer MapServer yw'r ffolder OSGeo4W yn union uwchlaw C: /

Y tu mewn, mae ffolderi gwahanol gyda chymwysiadau yn dibynnu ar yr hyn sydd wedi'i osod, ond rhaid i'r ffolder i'w gyhoeddi fynd y tu mewn i apache. Yn yr achos hwn y ffolder o'r enw gis.

  • Yna, y tu mewn, mae'r ffolder data yn cynnwys haenau, orthophoto, ac ati.
  • Yn y ffolder ac ati, ceir y ffontiau gwir fath a ddefnyddir ar gyfer y labeli, gydag estyniad .ttf. Hefyd dyma ffeil txt sy'n eu codi ac un arall sy'n diffinio symbolau.
  • Ac yn olaf yn y ffolder mae httdocs yn mynd i'r tudalennau gwe sy'n codi'r gwasanaeth.
  • mapiwrver geoserver

Y dudalen we

Yn yr enghraifft, byddaf yn defnyddio'r achos a ddangoswyd y tro diwethaf. Yn y bôn mae'n cynnwys ffeil fynegai sy'n ailgyfeirio i un gydag estyniad phtml, ac mae hyn yn ei dro yn codi'r swyddogaethau sydd wedi'u hadeiladu ar ben php a'r mapiau. Mae ffolder yn cynnwys y delweddau sy'n gysylltiedig o'r dudalen.

mapiwrver geoserver

Os edrychwn arno, dim ond y gragen sydd wedi'i hadeiladu o dablau yw'r phtml, ac mae'n galw i'r swyddogaethau mapcript / php. Fe ddylech chi godi gan ddefnyddio:

http://localhost/gis/gispalenque.phtml

Dangosir y canlyniad isod:

  • i'r ganolfan y swyddogaeth GMapDrawMap (),
  • ar y dde yr alwad i Keapap GMapDrawKeyMap (),
  • y bar graddfa isod GMapDrawScaleBar (),
  • ac yn achos swyddogaethau lleoli, amod ynghylch y blwch rhestr os (! isHtmlMode ()) adleisio "  gyda'r penderfyniadau: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Yn rhedeg yn barod, mae'r arddangosfa'n edrych fel hyn:

mapiwrver geoserver

Mae'r ffeiliau .map

Mae cyfuniad cyhoeddiad Mapserver yn yr hyn y mae Apache yn ei godi, sy'n anfon php drwyddo map ac mae hynny wedyn yn dod allan trwy'r gragen honno. Ond mae'r rhan fwyaf o'r wyddoniaeth yn y ffeiliau .map, i beidio â chael eu drysu â'r rhai a gynhyrchir gan Mapinfo, Manifold, neu Mobile Mapper Office gyda'r un estyniad.

Ffeiliau testun yw'r .map hyn, sy'n cynnwys y map ar ffurf sgript. Gellir creu'r rhain gyda rhaglenni bwrdd gwaith fel Quantum GIS, os byddwch chi'n sylwi bod un ar gyfer y prif fap, un ar gyfer y Keymap a dau ar gyfer gwasanaethau OGC wms a wfs. Dewch i ni weld sut mae mapcript yn gweithio:

MAP

ENW PALENQUE_DEMO
STATWS AR
MAINT 600 450
SYMBOLSET ../etc/symbols.txt
604299 1933386 610503 1939300 XWUMX # AROLWG O'R MAP O RAN PALENQUE
# SECTENT 605786 1935102 608000 1938800 SECTOR #SOLO 01
UNEDAU SYMUD
SHAPEPATH "../data"
CLUDIANT AR
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • Mae MAP yn dangos bod y sgript yn dechrau
  • STATUS, yn nodi a yw'r map diofyn ymlaen ai peidio
  • MAINT yw maint yr arddangosfa
  • SYMBOLSET yn dangos llwybr y symbolau
  • ESTYNOL yw'r cyfesurynnau arddangos. Defnyddir y symbol # i wneud anodiadau
  • UNEDAU ar gyfer unedau
  • LLWYBR, y llwybr lle mae'r haenau
  • Bydd y cyfan yn y diwedd yn dod i ben gyda'r gorchymyn END

Y tu mewn, mae'r cod yn dechrau gyda llinell orchymyn, ac yn gorffen gydag END, er enghraifft ar gyfer y raddfa isaf ac uchaf; cyfeiriadur o ddelweddau dros dro:

WEB
  2000000 MINSCALE
  MAXSCALE 50000000

DELWEDD "C: \ OSGeo4W / tmp / ms_tmp /"
  IMAGEURL "/ ms_tmp /"
DIWEDD

mapiwrver geoserverY bar graddfa:

SCALEBAR
  IMAGECOLOR 255 255 255
  LABEL
    COLOR 0 0 0
    MAINT FACH
  DIWEDD
  MAINT 300 5
  COLOR 255 255 255
  CEFNDIR 0 0 0
  ALLANOL 0 0 0
  Cilometrau UNEDAU
  INTERVALS 3
  STATWS AR
DIWEDD

mapiwrver geoserverHaen raster: mae hynny'n mynd yn y cefndir, gyda disgrifiad yn y rhestr fel "Orthophoto", o diff yn y ffolder data:

 

 

LAYER
  ENW orthophoto
  METADATA
    "DISGRIFIAD" "OrtoFoto"
  DIWEDD
  MATH RASTER
  STATWS
  DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
  #OFFSITE 0 0 0
DIWEDD

Mae haen swp o bolygonau, ar thema yn seiliedig ar feini prawf, yn codi rhywfaint o ddata ar dempled html, gyda label ffont sans, maint 6, lliw du ac ymylon gwyn byffer 5 ...

mapiwrver geoserver

LAYER
  ENW NAME02Zone
  POLYGON MATH
  STATWS
  TRWYDDEDU 50
  ESTYN 607852 1935706 610804 1938807 METADATA
    "DISGRIFIAD" "Thema yn ôl Sector Gwerth 02"
    "RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop GWERTH Perimedr Ardal"
  DIWEDD
  DATA PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TYMOR 5
  PIXELAU #TOLERANCEUNITS
  LABELITEM "GWERTH"
  DOSBARTH "GWERTH"
  LABELCACHE AR
  DOSBARTH
    SYMBOL 1
    COLOR 128 128 128
    ALLANOL 0 0 0
    ENW "ZonaNULL"
    MYNEGIANT ([VALUE] = 0)
    LABEL
         AUTO AGLE
         COLOR 0 0 0
         Sanau FONT
         MATH O WIRIO
         SEFYLLFA cc
        
RHANNAU ANGHYWIR
         BUFFER 5
         6 MAINT
         ALLANOL 200 200 200
    DIWEDD
  Gwerth END # dosbarth 0
  DOSBARTH
    SYMBOL 3
    COLOR 255 128 128
    LLENWI #COLOR -1 -1 -1

... ac yn y blaen hyd nes y bydd yn cau

DIWEDD
  END #Class Value
END # Haen

I gloi

Felly, gan weithio gyda mapserver, er ei fod yn eithaf syml, mae'n dod yn gymhleth ac yn gyfyngedig iawn ar gyfer swyddi mawr oherwydd bod popeth yn y .map. Yr anfantais fwyaf yw bod popeth yn cael ei wneud ar droed, fel diffinio pob lliw mewn thema, ac am y rheswm hwn mae offer fel CartoWeb yn codi, sy'n gweithio ar Mapserver ond sy'n dod ag ategion ac enghreifftiau adeiledig gyda nodweddion sy'n gwneud i'r fersiwn gyntefig hon edrych fel y darllenwch gyntaf:

  • Gweithiwch fframiau ar wahân, gydag AJAX er mwyn eu hadnewyddu ar wahân
  • Parsiwch y cod, ar yr amod bod sgript yn ailysgrifennu'r .map yn seiliedig ar feini prawf parameterizable
  • Dychwelwch y dadleoliad yn ddeinamig heb fod angen ei adnewyddu, fel pe bai'n haen fflach
  • Argraffiad fector ar-lein, ysgrifennu ar unwaith ar y storfa
  • Lawrlwytho haen ar ffurf fector
  • Allforio i Google Earth
  • Cynhyrchu PDF o'r defnydd

Mewn nesaf byddwn yn edrych ar CartoWeb, yma rwy'n gadael y ddolen i'r prif enghreifftiau.

3 Yn ymateb i “Sut mae Mapserver yn gweithio”

  1. Helo,

    Rwy'n ceisio galw haen o'r .map, fel a ganlyn:

    LAYER
    ENW'R PRESENNOL
    MATH PWYNT
    OGR CONNECTIONTYPE
    CYSYLLTU # »virtual.ovf»
    »

    xxxxx
    EXEC …….
    eess_id
    wkbPoint
    WGS84

    »

    Fy mhroblem yw bod y gwasanaeth DSN yn rhoi problemau: wrth ofyn am GetCapabilities mae'n dychwelyd cyfrinair y gronfa ddata ... a gaf i ffonio ffeil i osgoi "rhoi" y cyfrinair i ffwrdd neu a yw'n wall DSN ???? Diolch!

  2. Mae MapServer yn brosiect Ffynhonnell Agored poblogaidd sydd â'r nod o arddangos mapiau gofodol deinamig dros y Rhyngrwyd. Mae gyriant wedi'i osod yn ymgyrch sy'n cael ei mapio i ffolder wag ar gyfrol sy'n defnyddio'r system ffeiliau NTFS. Mae gyriannau wedi'u gosod yn gweithredu fel unrhyw lwybrau eraill, ond maent yn cael eu gyrru gan lwybrau gyrru yn hytrach na llythyrau gyrru.

Gadewch ateb

Ni fydd eich cyfeiriad e-bost yn cael ei gyhoeddi.

Mae'r wefan hon yn defnyddio Akismet i leihau sbam. Dysgwch sut mae eich data sylwadau yn cael ei brosesu.