Cartografia

Ինչպես է աշխատում Mapserver- ը

Անցյալ անգամ մենք խոսեցինք որոշ չափանիշների մասին, թե ինչու MapServer և տեղադրման հիմունքները: Հիմա եկեք տեսնենք դրա գործողության ինչ-որ բան Չիապասի ընկերների քարտեզներով վարժության մեջ:

 mapserver գեոսերվեր որտեղ այն տեղադրված է

Երբ Apache-ը տեղադրվի, MapServer-ի լռելյայն հրապարակման գրացուցակը OSGeo4W թղթապանակն է անմիջապես C-ի վերևում:

Ներսում կան տարբեր թղթապանակներ հավելվածներով՝ կախված այն բանից, թե ինչ է տեղադրված, բայց հրապարակման թղթապանակը պետք է մտնի apache-ի ներսում։ Այս դեպքում gis կոչվող թղթապանակը:

  • Այնուհետև ներսում տվյալների թղթապանակը պարունակում է շերտերը, օրթոֆոտո և այլն:
  • etc թղթապանակում կան պիտակների համար օգտագործվող իսկական տիպի տառատեսակներ՝ .ttf ընդլայնմամբ: Նաև այստեղ կա txt ֆայլ, որը բարձրացնում է դրանք, և մեկ այլ, որը սահմանում է սիմվոլները:
  • Եվ վերջապես httdocs թղթապանակում են վեբ էջերը, որոնք գործարկում են ծառայությունը:
  • mapserver գեոսերվեր

Վեբ էջը

Օրինակում ես կօգտագործեմ նախորդ անգամ ցուցադրված դեպքը։ Հիմնականում այն ​​պարունակում է ինդեքսային ֆայլ, որը վերահղվում է phtml ընդլայնմամբ մեկին, և դա իր հերթին բարձրացնում է php-ի և քարտեզների վրա կառուցված գործառույթները: Թղթապանակը պարունակում է էջից կապված պատկերներ:

mapserver գեոսերվեր

Եթե ​​նայեք, phtml-ը պարզապես աղյուսակներից կառուցված կեղևն է և զանգեր դեպի mapscript/php ֆունկցիաներ: Այն պետք է բարձրացվի՝ օգտագործելով.

http://localhost/gis/gispalenque.phtml

Ստորև ներկայացնում ենք աշխատանքային արդյունքը.

  • դեպի կենտրոն գործառույթը GMapDrawMap (),
  • աջ կողմում զանգը դեպի keymap GMapDrawKeyMap(),
  • սանդղակի սանդղակը ներքև GMapDrawScaleBar(),
  • իսկ ցուցադրման գործառույթների դեպքում՝ ցուցակի տուփի հետ կապված պայման եթե (!IsHtmlMode()) echo "  որոշումներովZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT:

Արդեն գործարկված էկրանն ունի հետևյալ տեսքը.

mapserver գեոսերվեր

.map ֆայլերը

Mapserver գրառման համակցությունը գտնվում է apache-ի կողմից բարձրացվածի մեջ, որն ուղարկվում է նրան php-ի միջոցով. քարտեզագիր իսկ հետո դուրս է գալիս այդ պատյանից։ Սակայն գիտության մեծ մասը գտնվում է .map ֆայլերում, որոնք չպետք է շփոթել Mapinfo-ի, Manifold-ի կամ Mobile Mapper Office-ի կողմից ստեղծված նույն ընդլայնման ֆայլերի հետ:

Սրանք .map տեքստային ֆայլեր են, որոնք պարունակում են քարտեզը սցենարի տեսքով: Դրանք կարող են ստեղծվել աշխատասեղանի ծրագրերով, ինչպիսիք են Quantum GIS-ը, եթե սահմանված է, կա մեկը հիմնական քարտեզի համար, մեկը Keymap-ի և երկու OGC wms և wfs ծառայությունների համար: Տեսնենք, թե ինչպես է աշխատում քարտեզագրությունը.

ՔԱՐՏԵԶ

ԱՆՈՒՆ PALENQUE_DEMO
ՍՏԱՏՈՒՍԸ ՄԻԱՑՎԱԾ Է
ՉԱՓԸ 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 #ՊԱԼԵՆՔԻ ԱՄԲՈՂՋ ՔԱՐՏԵԶԻ ՏԵՍՈՒՄ
#EXTENT 605786 1935102 608000 1938800 #ՄԻԱՅՆ ՈԼՈՐՏ 01
ՄԻԱՎՈՐ ՄԻԱՎՈՐ ՄԵՏՐԵՐ
SHAPEPATH «../տվյալներ»
Թափանցիկ ՄԻԱՑՎԱԾ
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP-ը ցույց է տալիս, որ այն սկսում է սցենարը
  • ՍՏԱՏՈՒՍ, ցույց է տալիս, արդյոք լռելյայն քարտեզը միացված է, թե ոչ
  • SIZE-ը էկրանի չափն է
  • SYMBOLSET-ը ցույց է տալիս նշանների ուղին
  • EXTENT-ը ցուցադրման կոորդինատներն են: # նշանն օգտագործվում է ծանոթագրություններ պատրաստելու համար:
  • ՄԻԱՎՈՐՆԵՐ միավորների համար
  • SHAPEPATH, այն ուղին, որտեղ գտնվում են շերտերը
  • Ամեն ինչ ի վերջո կավարտվի END հրամանով

Ներսում կոդը սկսվում է հրամանի տողով և ավարտվում է END-ով, օրինակ՝ նվազագույն և առավելագույն մասշտաբի համար; ժամանակավոր պատկերների գրացուցակ.

WEB
  MINSCALE 2000000
  ՄԱՔՍՍԿԱԼ 50000000

IMAGEPATH «C:\OSGeo4W/tmp/ms_tmp/»
  IMAGEURL «/ms_tmp/»
END

mapserver գեոսերվերՍանդղակի սանդղակը.

SCALEBAR
  IMAGECOLOR 255 255 255
  LABEL
    ԳՈՒՅՆ 0 0 0
    ՉԱՓԸ ՓՈՔՐ
  END
  ՉԱՓԸ 300 5
  ԳՈՒՅՆ 255 255 255
  ֆոնային գույն 0 0 0
  ԵՎՐՎԱԾՔԱՅԻՆ ԳՈՒՅՆ 0 0 0
  ՄԻԱՎՈՐՆԵՐ կիլոմետր
  ԸՆԹԱՑՔՆԵՐ 3
  ՍՏԱՏՈՒՍԸ ՄԻԱՑՎԱԾ Է
END

mapserver գեոսերվերՌաստերային շերտ. որն անցնում է ֆոնին, ցանկում նկարագրված է որպես «Օրթոֆոտո», տվյալների թղթապանակում գտնվող տիֆից.

 

 

LAYER
  NAME օրթոֆոտ
  ՄԵՏԱՏՎՅԱԼՆԵՐ
    «ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ» «Օրթոֆոտո»
  END
  ՌԱՍՏԵՐԻ ՏԵՍԱԿ
  ՍՏԱՏՈՒՍ ԱՆՋԱՏՎԱԾ
  ՏՎՅԱԼՆԵՐ «C:\OSGeo4W/apps/gis/data/ortofotoGral.tif»
  #OFFSITE 0 0 0
END

Բազմանկյունների shp շերտ, թեմատիկորեն հիմնված չափանիշների վրա, որոշ տվյալներ բարձրացնում է html ձևանմուշի վրա, sans տառատեսակի պիտակով, 6 չափսով, սև գույնով և բուֆեր 5-ի սպիտակ սահմաններով...

mapserver գեոսերվեր

LAYER
  NAME սեկտոր02Զոն
  ՏԵՍԱԿԸ ԲԱԶՄԱՆԳՅՈՒՆ
  ՍՏԱՏՈՒՍ ԱՆՋԱՏՎԱԾ
  թափանցիկություն 50
  ԾԱՌԱՅՈՒԹՅՈՒՆ 607852 1935706 610804 1938807 ՄԵՏԱՏՎՅԱԼՆԵՐ
    «ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ» «Թեմատիկ ըստ արժեքային հատվածի 02»
    «RESULT_FIELDS» «MsLink Cve_Mz Cve_Pred հենարանային տարածքի պարագիծ VALUE»
  END
  ՏՎՅԱԼՆԵՐ PALENQUE_SECTOR01
  ԿԱԶՄԱԿԵՐՊ «ttt_query.html»
  Հանդուրժողականություն 5
  #TOLERANCEUNITS PIXELS
  LABELITEM «VALUE»
  ԴԱՍ «ԱՐԺԵՔ»
  ՊԻՏԱԿԻ ՔԵՇԸ ՄԻԱՑՎԱԾ Է
  CLASS
    SYMBOL 1- ը
    ԳՈՒՅՆ 128 128 128
    ԵՎՐՎԱԾՔԱՅԻՆ ԳՈՒՅՆ 0 0 0
    ԱՆՈՒՆԸ «ZoneNULL»
    EXPRESSION ([VALUE]=0)
    LABEL
         ԱՆԿՅՈՒՆ ԱՎՏՈ
         ԳՈՒՅՆ 0 0 0
         FONT sans
         ՏԵՍԵՔ ՃՇՄԱՐՏ ՏԵՍԱԿԸ
         ԴԻՐՔԸ դդ
        
ՄԱՍՆԱԿԻ ՍՈՒՏ
         ԲՈՒՖԵՐ 5
         SIZE 6
         ԵՎՐՎԱԾՔԱՅԻՆ ԳՈՒՅՆ 200 200 200
    END
  END #դաս արժեքը 0
  CLASS
    SYMBOL 3- ը
    ԳՈՒՅՆ 255 128 128
    #ԳՈՒՅՆ -1 -1 -1 #ԼԻՑ ՉԻ

…. և այսպես շարունակ մինչև փակվելը

END
  ՎԵՐՋ #Դասի արժեքը
ՎԵՐՋ #Շերտ

Եզրակացություն տալու համար

Հետևաբար, mapserver-ի հետ աշխատելը, թեև այն բավականին պարզ է, դառնում է բավականին բարդ և շատ սահմանափակ մեծ աշխատանքների համար, քանի որ ամեն ինչ կա .map-ում: Ամենամեծ թերությունն այն է, որ ամեն ինչ արվում է ոտքով, օրինակ՝ յուրաքանչյուր գույնի սահմանումը թեմայի մեջ, և այդ պատճառով առաջանում են այնպիսի գործիքներ, ինչպիսին է CartoWeb-ը, որն աշխատում է Mapserver-ում, բայց գալիս է ներկառուցված փլագիններով և օրինակներով, որոնք ստեղծում են այս պարզունակ տարբերակը։ մնում են անփոփոխ.նա առաջինը կարդալը:

  • Աշխատեք առանձին շրջանակներ՝ AJAX-ով, որպեսզի դրանք առանձին թարմացնեք
  • Կոդի վերլուծություն, քանի դեռ սկրիպտը վերագրում է .քարտեզը՝ հիմնվելով պարամետրիզացվող չափանիշների վրա
  • Դարձրեք տեղաշարժը դինամիկ՝ առանց թարմացում պահանջելու, ասես դա լինի ֆլեշ շերտ
  • Առցանց վեկտորի խմբագրում, անմիջապես գրել քեշի վրա
  • Շերտերի ներբեռնում վեկտորային տեսքով
  • Արտահանել Google Earth
  • Ստեղծեք տեղակայման PDF

Հաջորդում մենք կանդրադառնանք CartoWeb-ին, ահա հիմնական օրինակների հղումը:

Գոլջի Ալվարես

Գրող, հետազոտող, հողի կառավարման մոդելների մասնագետ: Նա մասնակցել է այնպիսի մոդելների հայեցակարգացմանն ու ներդրմանը, ինչպիսիք են՝ Գույքի կառավարման ազգային համակարգ SINAP Հոնդուրասում, Հոնդուրասում Համատեղ քաղաքապետարանների կառավարման մոդել, Կադաստրի կառավարման ինտեգրված մոդել՝ ռեգիստր Նիկարագուայում, Տարածքի կառավարման համակարգ SAT Կոլումբիայում: . 2007 թվականից Geofumadas գիտելիքների բլոգի խմբագիր և AulaGEO ակադեմիայի ստեղծող, որը ներառում է ավելի քան 100 դասընթացներ GIS - CAD - BIM - Digital Twins թեմաներով:

Առնչվող հոդվածներ

3 Comments

  1. Hello,

    Ես փորձում եմ .map-ից շերտ կանչել հետևյալ կերպ.

    LAYER
    NAME տներ_թեստ
    ՏԵՍԱԿԻ ԿԵՏ
    ՄԻԱՑՄԱՆ ՏԵՍԱԿ OGR
    ՄԻԱՑՈՒՄ #”virtual.ovf”
    "

    xxxxx
    ԿԱՌԱՎԱՐՈՒՄ…….
    eess_id
    wkbPoint
    WGS84

    "

    Իմ խնդիրն այն է, որ DSN ծառայությունը խնդիրներ է առաջացնում. GetCapabilities պահանջելիս այն վերադարձնում է տվյալների բազայի գաղտնաբառը... կարո՞ղ եմ զանգահարել ֆայլին, որպեսզի խուսափեմ գաղտնաբառը «տրամադրելուց», թե՞ դա DSN-ի սխալ է: Շնորհակալություն!

  2. MapServer-ը հայտնի բաց կոդով նախագիծ է, որի նպատակն է ցուցադրել դինամիկ տարածական քարտեզներ ինտերնետում: Տեղադրված սկավառակը սկավառակ է, որը քարտեզագրված է NTFS ֆայլային համակարգ օգտագործող ծավալի դատարկ թղթապանակում: Մոնտաժված կրիչներն աշխատում են ինչպես ցանկացած այլ կրիչ, սակայն դրայվների տառերի փոխարեն նրանց տրված են դրայվային ուղիներ:

Թողնել մեկնաբանություն

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

Վերադառնալ սկիզբ կոճակը