This is an ArcPad Applet customization that shows additional information when the Identify tool is used.
Deploy MapIdentify.apa
and MapIdentify.vbs
to C:\Users\Public\Documents\ArcPad\Applets\
folder
<?xml version="1.0" encoding="UTF-8"?> | |
<ArcPad> | |
<APPLET> | |
<SYSTEMOBJECTS> | |
<MAP onidentify="OnIdentify"/> | |
</SYSTEMOBJECTS> | |
</APPLET> | |
<SCRIPT src="MapIdentify.vbs" language="vbscript"/> | |
</ArcPad> |
Option Explicit | |
Sub OnIdentify | |
Dim m, l, b, r, i, n | |
Set m = ThisEvent.Object | |
Set l = ThisEvent.Layer | |
b = ThisEvent.Bookmark | |
Set r = l.Records | |
r.Bookmark = b | |
PrintLayer l | |
End Sub | |
Sub PrintLayer(l) | |
Console.Print l.Name | |
PrintRecords l.Records | |
PrintShapeInfo l.Records | |
Console.Print " " | |
End Sub | |
Sub PrintRecords(r) | |
Dim i | |
For i = 1 to r.Fields.Count | |
PrintField r.Fields(i) | |
Next | |
End Sub | |
Sub PrintField(f) | |
If InStr(f.Name, "AXF_") = 1 Then Exit Sub | |
If InStr(f.Name, "SHAPE_") = 1 Then Exit Sub | |
If f.Name = "SHAPE" Then Exit Sub | |
Console.Print " " & f.Name & ": " & f | |
End Sub | |
Function UnitName(CoordSys) | |
Dim Name | |
Name = CoordSys.LookupCode(CoordSys.ProjectionUnit) | |
If Name = "Foot_US" Then Name = "ft" | |
UnitName = Name | |
End Function | |
Sub PrintLength(LengthValue, CoordSys) | |
Dim UnitConst | |
UnitConst = CoordSys.LookupConstant(CoordSys.ProjectionUnit) | |
If UnitConst = 1.0 Then | |
Console.Print " Length: " & LengthValue & " m" | |
Else | |
Console.Print " Length: " & (LengthValue * UnitConst) & " m ( " & LengthValue & " " & UnitName(CoordSys) & " )" | |
End If | |
End Sub | |
Sub PrintArea(AreaValue, CoordSys) | |
Dim UnitConst | |
UnitConst = CoordSys.LookupConstant(CoordSys.ProjectionUnit) | |
If UnitConst = 1.0 Then | |
Console.Print " Area: " & AreaValue & " m " & Chr(178) | |
Else | |
Console.Print " Area: " & (AreaValue * UnitConst * UnitConst) & " m " & Chr(178) & " ( " & AreaValue & " " & UnitName(CoordSys) & " " & Chr(178) & " )" | |
End If | |
End Sub | |
Sub PrintShapeInfo(r) | |
Select Case r.Fields.ShapeType | |
Case 1, 11, 21 | |
Console.Print " X: " & r.Fields.Shape.X | |
Console.Print " Y: " & r.Fields.Shape.Y | |
Case 3, 13, 23 | |
PrintLength r.Fields.Shape.Length, r.Fields.Shape.CoordinateSystem | |
Case 5, 15, 23 | |
PrintLength r.Fields.Shape.Perimeter, r.Fields.Shape.CoordinateSystem | |
PrintArea r.Fields.Shape.Area, r.Fields.Shape.CoordinateSystem | |
End Select | |
End Sub |