Background: I have an original shapefile with points that map just fine. I want to use these points to map other data (one point to many observations) that can be joined to the points with a field in the .dbf. (The "relate" functionality has not worked for me, and it seems like a ridiculous pain to fight with the software to do something I can do in a relational database in 30 seconds.) I thought instead to compute the X,Y for the points, output the .dbf as a text file, do my manipulations in other software, import the manipulated file, map the points, save as a shapefile, then do my geographic analysis.
What I did: Open the attribute table, create fields called X and Y, calculate corresponding geometry (using decimal degrees) using the coordinate system of the data source. Checked to see that the results match the coordinates of the mapped points. They do. Export the attribute table to a text file and when it asks if I want to add the exported table, say "Yes". Right click on table and go to "Display XY data." Note that the PCS and GCS are the same as the data source. Specify field X for X and field Y for Y. Map the data.
Problem: The points are in North America and map to near the equator. I'm attaching a graphic showing for one observation the X and Y fields in the data file and the X,Y of the mapped point. They don't match. No transformations are set. The data frame coordinate system and the ones for the attribute table and new table are the same (NAD 1983 UTM Zone 15N).
Plainly, I'm doing something wrong, but I don't know what it is. Help?
you keep talking about data in decimal degrees, then in the last sentence you switch over to UTM. Could you provide a snapshot of the table of coordinates, you created... Yes Longitude is X, and Latitude is Y. Longitude is negative in North America. The only time I have seen weirdness with adding XY data to a data frame is when it is mixed in with a bunch of other stuff in a different coordinate system.. Add it to a brand new data frame, when it looks good, then save it out to a featureclass or shapefile, use the Define Projection tool to set the appropriate Geographic Coordinate system, then use the Project tool to make a new copy of the file in the desired UTM.
There is nothing that adds to the confusion than everything all muddled together in different coordinates and a dataframe in another.
What you might have done is "you calculated X/Y in Decimal Degrees in the attribute table", but UTM is a projected coordinate system which takes linear units (meters).
You could do either of the two methods to get the result.
1) While adding XY data, you could specify the spatial reference as "GCS_NAD_1983".
2) Else if you need the result in UTM, you need to calculate the X/Y values in meters in the attribute table of the original data.
As Jayanta mentioned in his 1), make sure you specify the coordinate system of the incoming points, in your case the lat long points. By default, this will display "unknown coordinate system" and especially because you data frame is utm, it will assume you lot longs (in the -180 -90 0 90 180 ranges) are the same as your data frame, so it would make sense that it throws them down by the equator. Refer to the help docs for additional info, but rule of thumb, always specify the coordinate/reference system of the xy data coordinates.