Select to view content in your preferred language

Define Projection crack-down

356
10
2 weeks ago
AustinStreetman
Occasional Contributor

With ArcPro 3.5, ESRI has cracked down on letting us define the projection on a feature class that has a projection. We have been importing an existing schema from an XML and then using Define Projection in a model to redefine the projection for the new project. In 3.5, this no longer works. We tried it in arcPy as well. 

This seems like an unfortunate level of hand-holding. ESRI should trust users to know when it is appropriate to redefine a projection. 

AustinStreetman_1-1748455617537.png

 

 

10 Replies
Nick_Creedon
Frequent Contributor

@AustinStreetman I am not in Version 3.5 yet, this doesn't seem like this is intentional. I would reach out to support about your issue. As long as the tool is in ArcGIS Pro you should still have the capability to change the projection.

0 Kudos
RyanUthoff
MVP Regular Contributor

I am not able to replicate this behavior in 3.5. Per the 3.5 documentation, it states: "when a dataset with a known coordinate system is input to this tool, the tool will issue a warning message but will run successfully."

I don't think Esri intentionally took away that functionality. I suspect it's just a bug. You'll probably have to reach out to support and see if they can reproduce the issue on their end.

0 Kudos
DanPatterson
MVP Esteemed Contributor

If you compare the 3.5 to previous versions at

Define Projection (Data Management)—ArcGIS Pro | Documentation

you will notice that there are new restrictions.  I can't tell from your code and the files whether this is what you are running up against.  Have a look and compare to your previous version using the "Other versions" toggle


... sort of retired...
0 Kudos
DavidSolari
MVP Regular Contributor

Comparing 3.5 to 3.4 in detail, I don't see any new restrictions, there's just more clarifications for why you can't run the tool on EGDB or Feature Dataset classes (as well as workarounds).

@AustinStreetman if you try to define projections for some troublesome data using just the tool interface (no arcpy) do you get a better error message?

0 Kudos
DavidPike
MVP Notable Contributor

Certainly run the test in Pro GUI or get and print print the actual error.  This could be many different things from switching versions. 

0 Kudos
ChristalHigdon_USFS
Regular Contributor

We use the DefineProjection tool extensively in arcpy for a scripted process that we re-run during development and migration into ArcGIS Parcel Fabric. In prior versions (3.4 and earlier) there were no issues. We have Pro 3.5.0 and all of a sudden I am getting an error ("ERROR 000146: Cannot alter the spatial reference"), in both arcpy and Pro/UI Toolbox for Define Projection. I am trying to open an Esri case because this seems like a bug. I think it should still run with warning as it always has if there is already a projection defined. There is no way to set Unknown spatial reference, so what if you make a mistake, or are conveniently using it to set up a new gdb that does not have any data in it yet? 

MollyJackson
Occasional Contributor

I didn't see this thread when I started my own thread on the topic. My thread I am running into the same issue with the upgrade to 3.5. At first I thought it was because I was trying to use Define Projection on an undefined dataset. With further testing today, I am unable to use Define Projection on any dataset or feature class with a previously defined coordinate system either. If you read my thread, you'll see ESRI's response when I submitted a case. They told me I'm out of luck--it's a known error, and they don't plan on changing it.

I also just got off a chat with a support analyst, and here is the response I was given: "Geodatabase feature datasets and feature classes are not designed to have their coordinate systems changed after creation. The ability to update the coordinate system on feature dataset was an oversight and should not have been allowed. At ArcGIS Pro 3.5, that loophole was blocked. The change was on purpose. The new workflow is to make sure that a feature dataset or feature class has the correct coordinate system upon creation."

The ArcGIS Pro documentation states that the Define Projection tool: "Overwrites the coordinate system information (map projection and datum) stored with a dataset. This tool is intended for datasets that have an unknown or incorrect coordinate system defined."

But it apparently doesn't anymore. There are a number of caveats in the documentation.

 

Nick_Creedon
Frequent Contributor

Thank you for this update. This is good to know. The "Project" tool is probably the better way to go, especially when the data is already projected one way. It will add the proper transformations to the data, but it does create a new layer that you now have to work with.

Project Tool:  https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/project.htm 

0 Kudos
ChristalHigdon_USFS
Regular Contributor

It is not the better way to go in 3.5, as it loses a bunch of our data structure in the parcel fabric dataset:
Before Project:

ChristalHigdon_USFS_0-1749829464702.png

 


After Project:

ChristalHigdon_USFS_1-1749829474816.png

Even some of the out-of-the-box relationships Esri creates automatically in the Parcel Fabric get lost using the Project Tool. Really kills our workflow and productivity to make this change to the Define Projection tool, with no mention in the release notes, and no working alternative for our use.

0 Kudos