Ինչպես է աշխատում Mapserver- ը
Անցյալ անգամ մենք խոսեցինք որոշ չափանիշների մասին, թե ինչու MapServer և տեղադրման հիմունքները: Հիմա եկեք տեսնենք դրա գործողության ինչ-որ բան Չիապասի ընկերների քարտեզներով վարժության մեջ:
որտեղ այն տեղադրված է
Երբ Apache-ը տեղադրվի, MapServer-ի լռելյայն հրապարակման գրացուցակը OSGeo4W թղթապանակն է անմիջապես C-ի վերևում:
Ներսում կան տարբեր թղթապանակներ հավելվածներով՝ կախված այն բանից, թե ինչ է տեղադրված, բայց հրապարակման թղթապանակը պետք է մտնի apache-ի ներսում։ Այս դեպքում gis կոչվող թղթապանակը:
- Այնուհետև ներսում տվյալների թղթապանակը պարունակում է շերտերը, օրթոֆոտո և այլն:
- etc թղթապանակում կան պիտակների համար օգտագործվող իսկական տիպի տառատեսակներ՝ .ttf ընդլայնմամբ: Նաև այստեղ կա txt ֆայլ, որը բարձրացնում է դրանք, և մեկ այլ, որը սահմանում է սիմվոլները:
- Եվ վերջապես httdocs թղթապանակում են վեբ էջերը, որոնք գործարկում են ծառայությունը:
Վեբ էջը
Օրինակում ես կօգտագործեմ նախորդ անգամ ցուցադրված դեպքը։ Հիմնականում այն պարունակում է ինդեքսային ֆայլ, որը վերահղվում է phtml ընդլայնմամբ մեկին, և դա իր հերթին բարձրացնում է php-ի և քարտեզների վրա կառուցված գործառույթները: Թղթապանակը պարունակում է էջից կապված պատկերներ:
Եթե նայեք, phtml-ը պարզապես աղյուսակներից կառուցված կեղևն է և զանգեր դեպի mapscript/php ֆունկցիաներ: Այն պետք է բարձրացվի՝ օգտագործելով.
http://localhost/gis/gispalenque.phtml
Ստորև ներկայացնում ենք աշխատանքային արդյունքը.
- դեպի կենտրոն գործառույթը GMapDrawMap (),
- աջ կողմում զանգը դեպի keymap GMapDrawKeyMap(),
- սանդղակի սանդղակը ներքև GMapDrawScaleBar(),
- իսկ ցուցադրման գործառույթների դեպքում՝ ցուցակի տուփի հետ կապված պայման եթե (!IsHtmlMode()) echo " որոշումներովZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT:
Արդեն գործարկված էկրանն ունի հետևյալ տեսքը.
.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
ՄԱՔՍՍԿԱԼ 50000000IMAGEPATH «C:\OSGeo4W/tmp/ms_tmp/»
IMAGEURL «/ms_tmp/»
END
Սանդղակի սանդղակը.
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
ԳՈՒՅՆ 0 0 0
ՉԱՓԸ ՓՈՔՐ
END
ՉԱՓԸ 300 5
ԳՈՒՅՆ 255 255 255
ֆոնային գույն 0 0 0
ԵՎՐՎԱԾՔԱՅԻՆ ԳՈՒՅՆ 0 0 0
ՄԻԱՎՈՐՆԵՐ կիլոմետր
ԸՆԹԱՑՔՆԵՐ 3
ՍՏԱՏՈՒՍԸ ՄԻԱՑՎԱԾ Է
END
Ռաստերային շերտ. որն անցնում է ֆոնին, ցանկում նկարագրված է որպես «Օրթոֆոտո», տվյալների թղթապանակում գտնվող տիֆից.
LAYER
NAME օրթոֆոտ
ՄԵՏԱՏՎՅԱԼՆԵՐ
«ՆԿԱՐԱԳՐՈՒԹՅՈՒՆ» «Օրթոֆոտո»
END
ՌԱՍՏԵՐԻ ՏԵՍԱԿ
ՍՏԱՏՈՒՍ ԱՆՋԱՏՎԱԾ
ՏՎՅԱԼՆԵՐ «C:\OSGeo4W/apps/gis/data/ortofotoGral.tif»
#OFFSITE 0 0 0
END
Բազմանկյունների shp շերտ, թեմատիկորեն հիմնված չափանիշների վրա, որոշ տվյալներ բարձրացնում է html ձևանմուշի վրա, sans տառատեսակի պիտակով, 6 չափսով, սև գույնով և բուֆեր 5-ի սպիտակ սահմաններով...
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-ին, ահա հիմնական օրինակների հղումը:
Կա՞ տարբերակ ստանդարտ ելքային phtml ձևանմուշ ունենալու համար, շնորհակալություն
Hello,
Ես փորձում եմ .map-ից շերտ կանչել հետևյալ կերպ.
LAYER
NAME տներ_թեստ
ՏԵՍԱԿԻ ԿԵՏ
ՄԻԱՑՄԱՆ ՏԵՍԱԿ OGR
ՄԻԱՑՈՒՄ #”virtual.ovf”
"
xxxxx
ԿԱՌԱՎԱՐՈՒՄ…….
eess_id
wkbPoint
WGS84
"
Իմ խնդիրն այն է, որ DSN ծառայությունը խնդիրներ է առաջացնում. GetCapabilities պահանջելիս այն վերադարձնում է տվյալների բազայի գաղտնաբառը... կարո՞ղ եմ զանգահարել ֆայլին, որպեսզի խուսափեմ գաղտնաբառը «տրամադրելուց», թե՞ դա DSN-ի սխալ է: Շնորհակալություն!
MapServer-ը հայտնի բաց կոդով նախագիծ է, որի նպատակն է ցուցադրել դինամիկ տարածական քարտեզներ ինտերնետում: Տեղադրված սկավառակը սկավառակ է, որը քարտեզագրված է NTFS ֆայլային համակարգ օգտագործող ծավալի դատարկ թղթապանակում: Մոնտաժված կրիչներն աշխատում են ինչպես ցանկացած այլ կրիչ, սակայն դրայվների տառերի փոխարեն նրանց տրված են դրայվային ուղիներ: