|
|
|
An Interactive Digital Guide Map of Dhaka City
For example, the Hotlink can be used to see the beautiful image of ‘National Museum’ as well as learn its history from the list of ‘Museums and Historical Places’ shown in Fig. 4.
 Fig. 2: Customization of ArcView Interface
 Fig. 3.1: Message box containing list of themes
 Fig. 3.2: Message box containing list of features in the selected theme
 Fig. 3.3: The associated feature is highlighted and displayed in the view
 Fig. 4: Hotlink action displays the beautiful image and information of ‘National Museum’
Conclusion
The paper describes the preparation of a GIS-based interactive map of Dhaka City integrated with few extended capabilities which can be used as a guide map. ArcInfo and ArcView GIS software are used to prepare the interactive map, which includes preparation of digital map and customization of user interface. For this purpose software and hardware were used to capture, store and organize, manipulate, analyze and display spatially referenced information. The system, including its graphical user interface, was implemented with PC ARC/INFO's Simple Macro Language and ArcView's Avenue Programming Language. In this study, an attempt was made to prepare an interactive map of Dhaka City showing a variety of features. But due to constraints, only some rudimentary interactive features were included, but the exercise provided insights and skills that would be required if the study is carried out further to include more powerful planning routines. Also, this study has tremendous scope in different activities of planning and other field and can serve as a basis for future relevant research and studies.
References
- Anonymous (no date) IFLA Section of Geography and Map Libraries, http://magic.lib.uconn.edu/ifla/.
- ESRI (1996) Avenue: Customization and Application Development for ArcView, Redlands, CA., USA, p. 1.
- Pfister, B., Burgess, K. & Berry J. (2001) What’s a Map? - Media Mapping Technology is Redefining the Term, Geoworld, Vol. 14, No. 5, p. 43.
- Pictographics (no date) Pictographics' GIS and Internet Mapping Solutions, http://www.pictographics.com/gis.lasso.
- Star, J. and Estes, J. (1990) Geographic Information System – An Introduction, University of California, Santa Barbara, Prentice Hall, Inc., p. 175.
Appendix
List of Avenue Scripts
1. View.Highlight
theView = av.GetActiveDoc
theThemeList = theView.GetThemes
YourChoice = MsgBox.ChoiceAsString(theThemeList, "Choose a Feature", "Different Features")
if (not (YourChoice = nil)) then
a = theThemeList.Find(YourChoice)
theThemeList.Shuffle(theThemeList.Get(a), (theThemeList.Count))
for each t in theView.GetActiveThemes
t.SetActive(false)
end
theThemeList.Get(theThemeList.Count - 1).SetActive(true)
theView.InvalidateTOC(nil)
theView.GetDisplay.Invalidate(true)
for each t in theView.GetActiveThemes
theFTab = t.GetFTab
theField = theFTab.FindField("Name")
NameList = {} 'initialize list of names
for each rec in theFTab
val = theFTab.ReturnValue(theField, rec)
if(val <> "") then
NameList.Add(val)
NameList.RemoveDuplicates
NameList.Sort(True)
end
end
aChoice = MsgBox.ChoiceAsString(NameList, "Choose a Name", "Names")
if (not (aChoice = nil)) then
av.UseWaitCursor
theBitmap = theFTab.GetSelection
expr = "([Name] = "++aChoice.Quote+")"
theFTab.Query(expr, theBitmap, #VTAB_SELTYPE_NEW)
theFTab.UpdateSelection
av.GetProject.SetModified(true)
r = Rect.MakeEmpty
for each t in theView.GetActiveThemes
if (t.CanSelect) then
r = r.UnionWith(t.GetSelectedExtent)
end
end
if (r.IsEmpty) then
return nil
elseif ( r.ReturnSize = (0@0) ) then
theView.GetDisplay.PanTo(r.ReturnOrigin)
else
theView.GetDisplay.SetExtent(r.Scale(1.1))
end
end
end
end
2. View.Display
theGIFFileName = Self.Get(0)
theTextFileName = Self.Get(1)
MsgBox.Info("One moment please..."
+NL+"Hit OK to continue.","Multi Hotlink")
if (File.Exists(theGIFFileName.AsFileName))
then
theImageWin = ImageWin.Make(theGIFFileName.AsFileName,theGIFFileName)
else
MsgBox.Info("There is no Image File","")
end
if (File.Exists(theTextFileName.AsFileName))
then
theTextWin = TextWin.Make(theTextFileName.AsFileName,theTextFileName)
else
MsgBox.Info("There is no Text File","")
end
if (theImageWin <> nil) then
theImageWin.Open
theImageWin.Resize(240,180)
theImageWin.MoveTo(1,100)
end
if (theTextWin <> nil) then
theTextWin.Open
theTextWin.Resize(240,180)
theTextWin.MoveTo(240,100)
end
Link Script
theView = av.GetActiveDoc
found = FALSE
listofFieldNames = {"GIFField","TextField"}
listofValues = {}
p = theView.GetDisplay.ReturnUserPoint
t = theView.GetActiveThemes.Get(0)
if (t.Is(FTheme))
then
found = TRUE
theFTab = t.GetFTab
rec = t.FindByPoint(p).Get(0)
for each f in listofFieldNames
theVal = theFTab.ReturnValueString(theFTab.FindField(f),rec)
if (theVal <> NIL)
then
listofValues.Add(theVal)
else
listofValues.Add("a")
end
end
end
av.Run(t.GetHotScriptName,listofValues)
if (not found)
then
System.Beep
end
|
|
|