How can I "store relative pathnames" in ArcGIS Pro?

43734
26
Jump to solution
08-30-2017 04:09 AM
SabineSchnichels
New Contributor

Are absolute pathnames the default option? Does ArcGIS Pro always store absolute pathnames or is there a possibility to change this to relative?

26 Replies
LaraOles1
New Contributor II

We at the US Forest Service have the same question.  I click the Solution button above and it just takes me to a very confusing thread with more questions than answers.  This shouldn't be so hard in Pro.  We need to create map templates for people to use and it was easy to do in ArcMap.  Has ESRI developed an easy solution??  Is it coming in 3.0?

 

curtvprice
MVP Esteemed Contributor
0 Kudos
MichaelBruening
Occasional Contributor

You could build into the modelbuilder a variable that is passed "inline" throughout the model that supplies the new location of the geodatabase instead of relying on a "relative path" solution.

The variable would need to be supplied by the person running the modelbuilder to navigate to where the FGDB is located or would be created. Then within the model builder you would supply this new path and then the name of the FGDB by using "%FGDB_Path\MyFGDB.gdb%" within each of the tools. This would probably be better than beating your head against a wall; IMHO.

OneDrive has issues with ArcGIS Pro due to the nature of how a FGDB creates and names the files within itself. OneDrive does not like the files it stores to have "unrecoginzable" extensions; such as "a00000001.gdbindexes", "a00000001.gdbtable", and so on or at least I feel that is the issue since I receive a warning to rename these types of files. I could be completely wrong here.

0 Kudos
BartGriesenauer
New Contributor

Has there been a solution to saving relative path links in ArcGIS Pro?  Using these links is a part of our workflow.  Matts example is perfect, is this something that is on the radar at ESRI to address and if not, how can it be brought more to their attention

0 Kudos
BarryFosberg
New Contributor III

I do not think I have THE answer.

ESRI knows that One Drive can be a problem. I know that because I have begun to see warnings' from ESRI about possible conflicts. The ones I have seen were built into the descriptions for various tools. 

 

In running my two model from other than my computer, I find one only works as a model, but not as a tool. This may be a coding issue unrelated to One Drive.

The other runs as a tool but causes a number of one drive conflicts with temp files. These conflicts are not critical and the tool will run to satisfactory completion.

0 Kudos
curtvprice
MVP Esteemed Contributor

I suggest pausing OneDrive syncing while you are working in Pro. The Esri tech support article linked up thread is pretty clear you can easily corrupt a project or geodatabase by running Pro with cloud synching active, so you should always avoid these folders (including using synched folders as temp!) - or pause sync while you are working.

wOwen
by
New Contributor II

Modified Question to get away from focus on OneDrive and C:\users...

Does ArcPro support relative pathways generally?

Example:

  • C:\myRootDir\Base_Data.gdb   (50GB)
  • C:\myRootDir\
    • aprx_1
    • aprx_2
    • aprx_3
    • ** Base_Data.gdb added automatically to all projects/all projects use data from Base_Data.gdb

Copy Projects to Server or other location

  • A:\myNewRoot\Base_Data.gdb (Copy of same large GDB at root level of new location)
  • A:\myNewRoot\aprx_1
    • still references data on C:\ drive
    • would have to include 50GB base.gdb in every Project folder
    • or run a script to reset pathways with every copy to new location (for 100s of end users)
    • The goal is to have end users copy a lightweight aprx file to servers and retain mapping to large datasets in the Base_Data.gdb through relative pathways
    • What we need is the ability to make the Base_Data.gdb relative, i.e. projects "look up" one level from the aprx_xx project files to find the data regardless of where the project folder is stored

Am I just missing how to do this? Or is there a better solution?

Thank you!