Select to view content in your preferred language

Unable to define projection on undefined coordinate system in ArcGIS Pro version 3.5

171
8
Tuesday
Labels (1)
MollyJackson
Occasional Contributor

Last week I logged a bug with ESRI (or so I thought). With the upgrade to ArcGIS Pro 3.5, I am no longer able to use some of the templates and schemas we regularly use, as the Define Projection tool no longer works on datasets with undefined coordinate systems and returns Error 000146.

We use a number of empty geodatabases with undefined projections (some we've designed and some we've received from clients such as the FAA and the US Navy) when beginning new projects. Some of them are complex and contain domains and rules. The first step in this process is to assign the project's coordinate system. Now, with the advent of Pro 3.5, we can't do that any more.

Although I was initially told that this was a bug (BUG-000176807), and others have had the same issue, I was later informed that it is a "Known Limit" instead, with no plans to fix it. Here's the explanation I received: 

"These are the public explanations provided by our development team:
 
"Geodatabases are not designed to allow changes to the coordinate system after a feature dataset or feature class has been created. In earlier versions, it was possible to change the coordinate system of a feature dataset, but this was actually an unintended behavior. Starting from ArcGIS Pro 3.5, this loophole has been intentionally closed to prevent issues.
 
The reason behind this is that the coordinate system plays a crucial role in setting important parameters such as the spatial domain (range of coordinates), XY/Z/M tolerance, and resolution values. If a coordinate system is left undefined initially and then set later, those spatial properties might not align properly — which can lead to data integrity problems."
 

I’m truly sorry that you’ve had to encounter this issue.

There is currently no official workaround provided by our development team. That said, after discussing this internally, we would like to suggest the following alternatives for your consideration:

  • Export the features and assign the correct coordinate system during the export process, or

  • Continue using ArcGIS Pro 3.4, where the previous behavior is still allowed.


To clarify, in ArcGIS Pro 3.5, the Define Projection tool cannot be applied to a feature class with an Unknown Coordinate System. It can be used if you are specifying a known coordinate system, such as changing from NAD 1983 Colorado to NAD 1983 Virginia — but only when the dataset already has a defined system."

 

So for now, I've reverted back to ArcGIS Pro 3.4.

Am I nuts for finding this unworkable? It seems to me that as GIS professionals with full awareness of the limitations of undefined coordinate systems (I nag my co-workers to define EVERYTHING), we should at least have the choice to maintain and work with them. As it stands now, I will have to maintain an empty "template" or schema with an improperly defined coordinate system and THEN change the projection using Define Projection tool. I'd much rather start with an undefined coordinate system.

But I'm open to arguments and suggestions.

0 Kudos
8 Replies
RyanUthoff
MVP Regular Contributor

I'm just......confused by this "issue" along with Esri's response. Per Esri's documentation, it literally says the Define Projection tool is "intended for datasets that have an unknown or incorrect coordinate system defined." But you're saying that Esri said that the tool is not intended for datasets with an unknown coordinate system. That doesn't make sense, because isn't that the point of the tool?

I'm not sure if I'm missing something, but that just doesn't make sense to me. I'm not sure if you've already closed your case with Esri support, but I'd push back and state that their documentation explicitly states that what you are wanting to do is possible per their documentation.

0 Kudos
MollyJackson
Occasional Contributor

Yes, I am saying that the tool no longer works on datasets with unknown coordinate systems. It works on shapefiles but not datasets within geodatabases. It doesn't make sense to me either.

The tech support I worked with was great, and it sounds like this problem originates with the development team. I appreciate the suggestion to push back and sent an email this morning.

0 Kudos
RyanUthoff
MVP Regular Contributor

I would like a little clarity from Esri regarding this statement:

"The reason behind this is that the coordinate system plays a crucial role in setting important parameters such as the spatial domain (range of coordinates), XY/Z/M tolerance, and resolution values. If a coordinate system is left undefined initially and then set later, those spatial properties might not align properly — which can lead to data integrity problems."

Wouldn't you expect to see more data integrity issues when using the Define Projection tool on a known coordinate system as opposed to an undefined coordinate system with no records in it?

Edit: One last thing. ArcGIS Pro error 000146 states that the "Define Projection tool works with a dataset that does not have any coordinate system." But that directly conflicts with Esri's response to you, stating that "Define Projection tool cannot be applied to a feature class with an Unknown Coordinate System."

Either there is a misunderstanding somewhere, or the documentation needs to be updated to reflect that the Define Projection tool cannot be used on unknown coordinate systems.

0 Kudos
RichardDaniels
Honored Contributor

If we are talking about a classic ArcSDE type of Geodatabase that lives on a server, defining the projection details is part of creating the database itself. AFTER the database is created one loads or adds Feature Classes and tables to the database. Perhaps that is the issue here, you are talking geodatabase creation vs. Feature Class? Workflow could be create empty Geodatabase with the desired end-state parameters, then prepare your feature classes as desired then import or do a Project command with the Geodatabase as the output folder to transform the FC's into the desired projection definition. 

0 Kudos
MollyJackson
Occasional Contributor

To help clarify the problem, I'm going to present a concrete example. We do a lot of airport mapping--both feature mapping and obstruction analysis. The FAA developed a complex file geodatabase to reflect the data structure required by the governing circular AC150/5300-18B. The geodatabase contains 11 datasets with a huge number of feature classes stored in them. Each feature class has a large number of attributes, many of which are governed by domains. The datasets in this geodatabase have no defined coordinate system, as the geodatabase is used all over the country.

The first step we take upon working with a new airport is to define the coordinate system for all the datasets before we begin populating them with data. With the upgrade to ArcGIS Pro 3.5, we are now unable to define the projection on those datasets, since they are undefined. It just generates an error.

Other than remaining in Pro 3.4 indefinitely (obv. not a solution), the only workaround I can see is to use a prior airport geodatabase from a previous job with an incorrect coordinate system and then define the projection. Again, I would much rather start with an undefined coordinate system than just defaulting to WA State Plane North (or whatever) as a starting point every time.

0 Kudos
Joshua-Young
Frequent Contributor

This is more a work around than a solution, but it might be worthwhile to create a simple Python tool that loops through the template geodatabase from the FAA and exports the contents to a new geodatabase setting the projection as it goes. The only inputs would need to be the input geodatabase, output geodatabase, and the projection for the output geodatabase.

"Not all those who wander are lost" ~ Tolkien
0 Kudos
RichardDaniels
Honored Contributor

Define Projection is not the same as the Project Command. The fact the development team does not know this is problematic for a GIS software company.
This needs to be escalated and ALSO submitted as an 'Idea' for new development. Having a Define Projection Tool within ArcGIS Pro that does not actually allow you to define a project is by its very nature a BUG. Failure of their design team to understand GIS workflows should not be a reason to refuse to implement a basic feature of ArcInfo, ArcView, ArcGIS Desktop, and ArcGIS Pro.

Geographic data is provided by many organizations without proper supporting projection files (i.e. prj files). This often happens during GPS data collection and integration with other providers such as multiband raster data, AutoCad and Bentley Products. That is why Define Project exists.

0 Kudos
Joshua-Young
Frequent Contributor

I do not understand Esri's response. If the issue is the spatial tolerances, why not have the Define Projection tool clear out those values when the tool is executed and have a warning that is what will happen if you run the tool. Another option is to leave the spatial tolerances and produce a warning that those values do not fit the applied coordinate system.

I really do not see how any of that could be a problem for empty features and tables.

"Not all those who wander are lost" ~ Tolkien
0 Kudos