It may be a very obvious one, but how do I add more than one relative hyperlink to a point feature class in ArcGIS for Desktop with a Basic level license?
The Basic level license eliminates using Attachments being a possibility.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
You can do field based hyperlinks (using hyperlink tool), however you have to choose the Script option and modify the script slightly to point at your second or third field, see instruction below:
This opens pictures from two different fields using hyperlink tool
Function OpenLink ( [PICTURE1] , [PICTURE2] ) Dim path, path2 Dim objShell path = [PICTURE1] path2 = [PICTURE2] Set objShell = CreateObject("Shell.Application") objShell.ShellExecute path, "", "", "open", 1 objShell.ShellExecute path2, "", "", "open", 1
ArcGIS has 2 standard ways to define a hyperlink:
This is an ArcWatch article about hyperlinks.
Summary of workarounds to use multiple hyperlinks with field based hyperlinks:
Whilst searching for an answer to this question I also found the VBScript solution to be a good option. I have a table that contains up to 20 links to pdfs with field names such as ReportLnk01, ReportLnk02 etc. I also have a single field (LnkPath) that contains a relative path to the documents for each record. The following script was used to open multiple hyperlinks to a single point:
Function OpenLink ( [Lnk_Path] , [ReportLnk01] , [ReportLnk02] , [ReportLnk03] ) Dim path1, path2, path3 Dim objShell, fileObj path1 = "..\" & [Lnk_Path] & [ReportLnk01] path2 = "..\" & [Lnk_Path] & [ReportLnk02] path3 = "..\" & [Lnk_Path] & [ReportLnk03] Set fileObj = CreateObject("Scripting.FileSystemObject") Set objShell = CreateObject("Shell.Application") if ((Len(path1) > 0) And (fileObj.FileExists(path1))) then objShell.ShellExecute path1, "", "", "open", 1 End if if ((Len(path2) > 0) And (fileObj.FileExists(path2))) then objShell.ShellExecute path2, "", "", "open", 1 End if if ((Len(path3) > 0) And (fileObj.FileExists(path3))) then objShell.ShellExecute path3, "", "", "open", 1 End if End Function
I am doing this now, myself.
My solution was to store my hyperlinks in a related table.
So "Feature X" relates to multiple hyperlink records in that table as follows
Feature |X| ->Relates to Hyperlink Table -> | X | Hyperlink 1| | X | Hyperlink 2| | X | Hyperlink 3|