Copying entire geodatabase with relationship classes and domains and reproject all feature classes from wgs84 to state plane?
Thanks all for your responses. Unfortunately, none of the solutions mentioned did the trick for me, although I'm sure they would all work under slightly different circumstances.
The resolution is in the following steps:
- Feature Class to Geodatabase (multiple) to copy all feature classes from the original geodatabase to the new empty geodatabase.
- Set Environments on Feature Class to Geodatabase tool with Output Coordinate System specified in desired new coordinate system.
- Table to Table tool (multiple) to copy all tables from the original geodatabase to the new geodatabase.
- Manually recreate all relationship classes.
I wish there were a better solution to this, but I just couldn't get it to work without breaking all the relationship classes. I hope this helps someone in the future.
I think what you want to do can be done without too much trouble given that there are no feature datasets involved and all the coordinate systems are the same, although it's not a one-step process unless you script it.
- Copy your feature classes to a new file geodatabase using Copy/Paste which brings over relationship classes and related tables. (side question, are there any GP tools that can do this? I think not)
- Project all your original feature classes to the new coordinate system using an intermediate geodatabase
- Delete the contents of all the feature classes in the output geodatabase using Delete Features
- Redefine the coordinate system of all your feature classes in the output geodatabase using Define Projection
- Append the projected feature classes from the intermediate workspace to their corresponding feature classes (now empty) in the output workspace
If there were feature datasets involved I think this approach would fail because Define Projection doesn't work on feature datasets that are not empty. In that case my fallback plan would be to export the geodatabase to an XML workspace document and munge it by hand or with Python or an XSLT file.
I had the same question, and I solved it the same way blah238 says : exporting the geodatabase(or its schema) into an XML File, then modify the Spatail Reference inside this XML file, and reimport it into the new Geodatabase.
Here are the steps :
1) Right click in your source geodatabase, and select "Export/XML Workspace Document"
2) Check "Schema Only", specify the XML output file
3) Press the "Include All" button to select all the features of your geodatabase
4) Then Finish
5) Open the XML file with an editor (like NotePad++)
6) Replace the content of all the "SpatialReference" tags with your new spatial reference
7) Set the content of all the "GridSize0" tags to 0 (useful to reinitiate the grids of the empty datasets
8) Save it
9) Create an empty geodatabase. Right click in it, and select "Import/XML Workspace Document"
10) Select your XML file
11) Once the geodatabase is created, you can append your reprojected data into tables and feature classes
11) You're Done !!
It seems to work well. You have to project all your data separately from the geodatabase, and reimport them (load or append) into the new one
Good luck.