Mapserver എങ്ങനെ പ്രവർത്തിക്കുന്നു
എന്തുകൊണ്ടാണ് ചില മാനദണ്ഡങ്ങൾ ഞങ്ങൾ മുമ്പ് സംസാരിച്ചത് മപ്സെര്വെര് ഇൻസ്റ്റാളേഷന്റെ അടിസ്ഥാനകാര്യങ്ങളും. ചിയാപാസ് ചങ്ങാതിമാരുടെ മാപ്പുകൾ ഉപയോഗിച്ചുള്ള ഒരു വ്യായാമത്തിൽ അതിന്റെ ചില പ്രവർത്തനങ്ങൾ നോക്കാം.
എവിടെ മൌണ്ട് ആണ്
Apache ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, സ്ഥിരസ്ഥിതി MapServer പ്രസിദ്ധീകരിക്കൽ ഡയറക്ടറി OSGeo4W ഫോൾഡർ നേരിട്ട് C: /
അകത്ത്, ഇൻസ്റ്റാൾ ചെയ്തവയെ ആശ്രയിച്ച് ആപ്ലിക്കേഷനുകളുള്ള വ്യത്യസ്ത ഫോൾഡറുകളുണ്ട്, പക്ഷേ പ്രസിദ്ധീകരണത്തിനുള്ള ഫോൾഡർ അപ്പാച്ചിക്കുള്ളിൽ പോകണം. ഈ സാഹചര്യത്തിൽ ജിസ് എന്ന് വിളിക്കുന്ന ഫോൾഡർ.
- അതിനുശേഷം ഡാറ്റാ ഫോൾഡറിൽ പാളികൾ, orthophoto മുതലായവ ഉൾപ്പെടുന്നു.
- മുതലായവ ഫോൾഡറിൽ, .ttf വിപുലീകരണത്തോടുകൂടിയ ലേബലുകൾക്കായി ഉപയോഗിക്കുന്ന യഥാർത്ഥ തരം ഫോണ്ടുകൾ ഉണ്ട്. അവയെ ഉയർത്തുന്ന ഒരു ടെക്സ്റ്റ് ഫയലും ചിഹ്നങ്ങളെ നിർവചിക്കുന്ന മറ്റൊന്ന് ഇവിടെയുണ്ട്.
- അവസാനമായി ഫോൾഡറിൽ ഡ്രോപ്പ് ചെയ്യുന്ന വെബ് താളുകൾ ഫോൾഡറിൽ പോകുക.
വെബ് പേജ്
ഉദാഹരണത്തിൽ, കഴിഞ്ഞ തവണ കാണിച്ച കേസ് ഞാൻ ഉപയോഗിക്കും. ഇതിൽ അടിസ്ഥാനപരമായി ഒരു പിഎച്ച്എം വിപുലീകരണത്തിലേക്ക് റീഡയറക്ടുചെയ്യുന്ന ഒരു സൂചിക ഫയൽ അടങ്ങിയിരിക്കുന്നു, ഇത് ഒരു പിഎച്ച്പിയുടെയും മാപ്പുകളുടെയും മുകളിൽ നിർമ്മിച്ച ഫംഗ്ഷനുകൾ ഉയർത്തുന്നു. ഒരു ഫോൾഡറിൽ പേജിൽ നിന്ന് ലിങ്കുചെയ്ത ചിത്രങ്ങൾ അടങ്ങിയിരിക്കുന്നു.
നമ്മൾ നോക്കുകയാണെങ്കിൽ, phtml എന്നത് പട്ടികകളിൽ നിന്ന് നിർമ്മിച്ച ഷെൽ മാത്രമാണ്, കൂടാതെ മാപ്സ്ക്രിപ്റ്റ് / പിഎച്ച്പി ഫംഗ്ഷനുകളിലേക്ക് വിളിക്കുന്നു. നിങ്ങൾ ഇത് ഉപയോഗിച്ച് എഴുന്നേൽക്കണം:
http://localhost/gis/gispalenque.phtml
ഫലം താഴെ കാണിച്ചിരിക്കുന്നു:
- കേന്ദ്രത്തിൽ ഈ ഫംഗ്ഷൻ GMapDrawMap (),
- വലതുവശത്ത് വിളിക്കുക GMapDrawKeyMap കീമാപ്പ് (),
- താഴെയുള്ള സ്കെയിൽ ബാർ GMapDrawScaleBar (),
- വിന്യാസപ്രവർത്തനങ്ങളുടെ കാര്യത്തിൽ, ലിസ്റ്റ് ബോക്സിനെ സംബന്ധിച്ച ഒരു വ്യവസ്ഥ if (! IsHtmlMode ()) എക്കോ " തീരുമാനങ്ങളുമായി: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
ഇതിനകം പ്രവർത്തിക്കുന്നു, ഡിസ്പ്ലേ ഇങ്ങനെ കാണുന്നു:
.map ഫയലുകൾ
മാപ്സേർവർ പ്രസിദ്ധീകരണത്തിന്റെ സംയോജനമാണ് അപ്പാച്ചെ ഉയർത്തുന്നത്, ഇത് php വഴി അയയ്ക്കുന്നു mapscript അത് ആ ഷെല്ലിൽ നിന്ന് പുറത്തുവരുന്നു. എന്നാൽ മിക്ക ശാസ്ത്രവും .മാപ്പ് ഫയലുകളിലാണ്, മാപ്പിൻഫോ, മാനിഫോൾഡ്, അല്ലെങ്കിൽ മൊബൈൽ മാപ്പർ ഓഫീസ് എന്നിവ ഒരേ വിപുലീകരണത്തോടെ സൃഷ്ടിച്ചവയുമായി തെറ്റിദ്ധരിക്കരുത്.
സ്ക്രിപ്റ്റ് രൂപത്തിൽ മാപ്പ് അടങ്ങിയിരിക്കുന്ന ടെക്സ്റ്റ് ഫയലുകളാണ് ഈ .മാപ്പ്. ക്വാണ്ടം ജിഐഎസ് പോലുള്ള ഡെസ്ക്ടോപ്പ് പ്രോഗ്രാമുകൾ ഉപയോഗിച്ച് ഇവ സൃഷ്ടിക്കാൻ കഴിയും, പ്രധാന മാപ്പിനായി ഒന്ന്, കീമാപ്പിന് ഒന്ന്, ഒജിസി wms, wfs സേവനങ്ങൾക്ക് ഒന്ന് എന്നിവ നിങ്ങൾ ശ്രദ്ധയിൽപ്പെട്ടാൽ. മാപ്സ്ക്രിപ്റ്റ് എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നോക്കാം:
മാപ്പ്
NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
പലേക്വിലെ എല്ലാ മാപ്പിന്റെയും എക്സ്റ്റെന്റ് 604299 1933386 XIX
#EXTENT 605786 1935102 608000 #SOLO THE SECTOR 1938800
UNITS METERS
ഷാപ്പേത്ത് "../data"
ട്രാൻസാക്ഷൻ ഓണാണ്
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- നിങ്ങൾ സ്ക്രിപ്റ്റ് ആരംഭിക്കുമെന്ന് MAP സൂചിപ്പിക്കുന്നു
- STATUS, സ്ഥിരസ്ഥിതി മാപ്പ് ഓണാണോയെന്ന് സൂചിപ്പിക്കുന്നു
- ഡിസ്പ്ലേയുടെ വലുപ്പമാണ് SIZE
- ചിഹ്നങ്ങളുടെ വഴി SYMBOLSET കാണിക്കുന്നു
- പ്രദർശന കോർഡിനേറ്റുകളാണ് EXTENT. വ്യാഖ്യാനങ്ങൾ നടത്താൻ # ചിഹ്നം ഉപയോഗിക്കുന്നു
- യൂണിറ്റുകൾക്കായുള്ള UNITS
- ഷാപ്പെപാത്ത്, പാളികൾ ഉള്ള വഴി
- എൻഡ് END END കമാൻഡുമായി അവസാനിക്കും
ഉള്ളിൽ, കോഡ് ഒരു കമാൻഡ് ലൈനിൽ ആരംഭിക്കുന്നു, END ൽ അവസാനിക്കുന്നു, ഉദാഹരണത്തിന് മിനിമം, പരമാവധി സ്കെയിൽ വേണ്ടി; താൽകാലിക ഇമേജുകളുടെ ഡയറക്ടറി:
വെബ്
MINSCALE2000000
MAXSCALE50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
അവസാനിക്കുന്നു
സ്കെയിൽ ബാർ:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
നിറം 0 0 0
SIZE SMALL
അവസാനിക്കുന്നു
SIZE 300 5
നിറം 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS കിലോമീറ്റർ
INTERVALS 3
STATUS ON
അവസാനിക്കുന്നു
ഒരു റാസ്റ്റർ ലെയർ: ഡാറ്റാ ഫോൾഡറിൽ സ്ഥിതിചെയ്യുന്ന ഒരു ടിഫിൽ നിന്ന് "ഓർത്തോഫോട്ടോ" എന്ന് ലിസ്റ്റിൽ ഒരു വിവരണത്തോടെ പശ്ചാത്തലത്തിൽ പോകുന്നു:
ലേയർ
NAME ഓർത്തോഫൊട്ടോ
മെറ്റാഡാറ്റ
"DESCRIPTION" "OrtoFoto"
അവസാനിക്കുന്നു
TYPE റോസ്റ്റർ
STATUS ഓഫ്
DATA "C: \ OSGeo4 / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
അവസാനിക്കുന്നു
ഒരു പാളി SHP പോളിഗോൺ തെമതിജദ മാനദണ്ഡം അനുസരിച്ച്, ഒരു ലേബൽ സാൻസ് ഫോണ്ട്, വലുപ്പം ക്സനുമ്ക്സ ഒരു HTML ടെംപ്ലേറ്റ് ചില ഡാറ്റ വളർത്തുന്ന, കറുപ്പും വെളുപ്പും അരികുകളും ക്സനുമ്ക്സ ബഫർ ...
ലേയർ
NAME വിഭാഗം 02Zone
TYPE POLYGON
STATUS ഓഫ്
TRANSPARENCY 50
EXTENT 607852 1935706 610804 1938807 മെറ്റാഡാറ്റ
"വിവരണം" "മൂല്യമേഖല 02 പ്രമേയമാക്കിയ തീം"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred ആപ്പ് ഏരിയ പരിധി VALUE"
അവസാനിക്കുന്നു
DATA PALENQUE_SECTOR01
ടെംപ്ലേറ്റ് "ttt_query.html"
TOLERANCE 5
#TOLERANCEUNITS പിക്സലുകൾ
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ഓൺ
ക്ലാസ്
SYMBOL 1
നിറം 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZonaNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ആംഗിൾ ഓട്ടോ
നിറം 0 0 0
ഫോണ്ട് സാൻസ്
TYPE TRUETYPE
POSITION cc
ഭാഗങ്ങൾ തെറ്റാണ്
ബഫർ 5
SIZE 6
OUTLINECOLOR 200 200 200
അവസാനിക്കുന്നു
അവസാനത്തെ # ക്ലാസ് 0 മൂല്യം
ക്ലാസ്
SYMBOL 3
നിറം 255 128 128
#COLOR -1-1-1 # സിൻ ഫില്ലിംഗ്
... അങ്ങനെ അവസാനിക്കുന്നത് വരെ
അവസാനിക്കുന്നു
അവസാനത്തെ # കാസ് മൂല്യം
അവസാന # ലേയർ
അവസാനിപ്പിക്കുക
അതിനാൽ, മാപ്സർവറുമൊത്ത് പ്രവർത്തിക്കുന്നത് വളരെ ലളിതമാണെങ്കിലും സങ്കീർണ്ണവും വലിയ ജോലികൾക്ക് പരിമിതവുമാണ്, കാരണം എല്ലാം .മാപ്പിൽ ഉണ്ട്. ഒരു തീമിംഗിൽ ഓരോ നിറവും നിർവചിക്കുന്നത് പോലുള്ള എല്ലാം കാൽനടയായി നടക്കുന്നു എന്നതാണ് ഏറ്റവും വലിയ പോരായ്മ, ഇക്കാരണത്താൽ മാപ്സെർവറിൽ പ്രവർത്തിക്കുന്ന കാർട്ടോവെബ് പോലുള്ള ഉപകരണങ്ങൾ ഉയർന്നുവരുന്നു, എന്നാൽ അന്തർനിർമ്മിത പ്ലഗിനുകളും ഉദാഹരണങ്ങളും ഈ പ്രാകൃത പതിപ്പ് പോലെ കാണപ്പെടുന്ന സവിശേഷതകളോടെ കൊണ്ടുവരുന്നു ദി ആദ്യം വായിക്കുക:
- പ്രത്യേകം പ്രത്യേകം പുതുക്കാനായി AJAX ഉപയോഗിച്ച് പ്രത്യേക ഫ്രെയിമുകൾ പ്രവർത്തിക്കുക
- സ്ക്രിപ്റ്റ് തിരുത്തിയെഴുതുന്നിടത്തോളം, കോഡ് പാഴ്സ് ചെയ്യുക. പരാമീറ്ററബിൾ മാനദണ്ഡം അടിസ്ഥാനമാക്കിയുള്ള മാപ്പ്
- റിഫ്രഷ് ചെയ്യാതെ ഒരു ഫ്ലാഷ് ലെയറാണെന്നപോലെ ഡൈനാമിക് ബാക്ക് സ്ക്രോളിംഗ്
- ഓൺലൈൻ വെക്റ്റർ എഡിറ്റിംഗ്, ഉടൻ കാഷെ റൈറ്റ്
- വെക്റ്റർ ഫോമിൽ ലെയർ ഡൗൺലോഡ് ചെയ്യുക
- Google Earth ലേക്ക് എക്സ്പോർട്ട് ചെയ്യുക
- വിന്യാസത്തിൽ നിന്ന് PDF സൃഷ്ടിക്കുക
അടുത്തതായി നമ്മൾ കാർട്ടോ വെബ്ബുകൾ കാണും, ഇവിടെ പ്രധാന കണ്ണിയിലേക്ക് ഞാൻ ലിങ്ക് വിട്ടേക്കുകയാണ്.
സ്റ്റാൻഡേർഡ് ഫോം ടെംപ്ലേറ്റ് ഔട്ട്പുട്ട് ലഭിക്കുന്നതിന് ഒരു മാർഗമുണ്ട്
ഹലോ,
ഞാൻ ഒരു പാളി വിളിക്കാൻ ശ്രമിക്കുന്നു.
ലേയർ
NAME ടെസ്റ്റ്ഹൗസുകൾ
ടൈപ്പ് പോയിന്റ്
CONNECTIONTYPE OGR
കണക്ഷൻ #”virtual.ovf”
"
xxxxx
EXEC ……
eess_id
wkbPoint
WGS84
"
DSN സേവനം പ്രശ്നങ്ങൾ ഉണ്ടാക്കുന്നു എന്നതാണ് എന്റെ പ്രശ്നം: ഒരു GetCapabilities അഭ്യർത്ഥിക്കുമ്പോൾ അത് ഡാറ്റാബേസ് പാസ്വേഡ് തിരികെ നൽകുന്നു... പാസ്വേഡ് "നൽകുന്നത്" ഒഴിവാക്കാൻ എനിക്ക് ഒരു ഫയലിലേക്ക് വിളിക്കാമോ അതോ DSN പിശകാണോ? നന്ദി!
ഇന്റർനെറ്റിലൂടെ ഡൈനാമിക് സ്പേഷ്യൽ മാപ്പുകൾ പ്രദർശിപ്പിക്കാനുള്ള ഒരു പ്രശസ്തമായ ഓപ്പൺ സോഴ്സ് പ്രോജക്ടാണ് MapServer. NTFS ഫയൽ സിസ്റ്റം ഉപയോഗിക്കുന്ന ഒരു വോള്യത്തിൽ ശൂന്യമായ ഒരു ഫോൾഡറിലേക്ക് മാപ്പുചെയ്യുന്ന ഒരു ഡ്രൈവാണ് ഒരു മൌണ്ട് ഡ്രൈവ്. മൌണ്ട് ചെയ്ത ഡ്രൈവുകൾ മറ്റേതെങ്കിലും ഡ്രൈവുകളായി പ്രവർത്തിക്കുന്നു, പക്ഷേ ഡ്രൈവിനു പകരം ഡ്രൈവിങ് പാസുകൾ ലഭ്യമാക്കുന്നു.