Title: Development of Linear Measure Tool using Application Framework
1Development of Linear Measure Tool using
Application Framework
2Overview
- Necessity for Linear Referencing
- Application Framework
- About Linear Measure Tool
- PolylineM
- LengthDown
- Application of LMT
- Conclusions, Acknowledgements, Questions!
3Necessity for Linear Referencing
- GIS often represents spatial information with two
dimensional coordinate systems. - Location of river gauging station
- x,y coordinates - (992506,301256)
- Linear measure - HydroCode 30021, m165
- Add route events
- Find distance between two points and so on.
4Application Framework What is it??
- Its an ArcMap extenstion
- Designed to access ArcMap layers for input and
create new output layers (right now used only for
input).
5Why AppFramework?
- Here is how it all works
- Get hold of MxDocument
- Get hold of Map
- Get hold of FeatureLayer
- Get hold of FeatureClass
- Get hold of required Field in FeatureClass
- Do Something, have fun!
- Display results
AppFramework
6Sub LengthDown() Dim pMxDoc As
IMxDocument Dim pMap As IMap Set pMxDoc
ThisDocument Set pMap pMxDoc.FocusMap
Dim pFLayer As IFeatureLayer Dim pFeature As
IFeature Set pFLayer pMap.Layer(0) Dim
pFC As IFeatureClass Set pFC
pFLayer.FeatureClass Dim pTable As ITable
Set pTable pFC Dim j As Long j
pTable.FindField(LengthDown") If j -1
Then MsgBox Field not found"
Exit Sub End If MsgBox Field Found
End Sub
7Linear Measure Tool (LMT)
- Its developed in Visual Basic as a DLL.
- Uses AppFramework for input.
- Register in ArcMap to use it.
- Toolbar with some cool options for Linear
Referencing. - Works only with PolylineM layer and uses
LengthDown for multiple features option.
8Why LMT is so cool!
- It has some cool options!
- Assign Ms
- Read Ms
- Finds out distance between two points
- Deals with both Individual and Multiple Features
- Changes the MDomain on fly if necessary
- It flashes but never crashes (sometimes gives
error message, but thats not LMT, its user!)
9Application of LMT
10Conclusions
- Using Visual Basic, I can do some cool stuff too.
Its very easy. - Here we are dealing with only one type of Layer
(PolylineM). AppFramework is more useful when
dealing with different types of layers and
fields. -
11Acknowledgements
- Dr. Maidment
- Tim Whiteaker
- CRWR crew