If I wish to change the projection of some shapefiles from .. let's say
NAD83 (4269) to
WGS84 (4326) ... and by using some 3rd party app .... does this mean the
.prj file is only updated .. and not the content in the
.shp file or any other associated files?
In the particular case of NAD83 <--> WGS84 and you're working with medium accuracy data, e.g. consumer grade GPS, it's not serious if the only the .prj file is changed, as the two are synonymous at that level.
If you're working with geodetic data accurate to fractions of a centimetre or more the app had better be doing real datum transformation and not just changing the prj file. Also don't forget that there are several different NAD83 definitions (NAD83_HARN, NAD83CSRS, etc), that they are only good for North America, and not uniform coverage at that. See Which Geographic Transformation to use for the Yukon? for a long discussion of the differences of this last point and how to choose, including this illimunating graphic absent from most documentation on NAD83 transformations:
The text in the graphic refers to the names of the various NAD83 transformations available in ArcGIS. Determining what the equivalent terms are in other programs, e.g. PROJ4 and FME, is an exercise left to the reader (feel free to expand in the comments, or better yet, post a new question).
Projection writes an entirely new shapefile, in the output coordinate space -- the new .prj file lets you know what reference system the new coordinates are in. So, if you took a WGS84 shapefile with data like:
latitute, longitude, value 32, -120, off santa rosa island
After projecting to say UTM, the shapefile would contain information like:
x (easting), y (northing), value 216577, 3544370, off santa rosa island
Only through the use of the
prj file would you know that the
y coordinates referred to UTM coordinates. In your specific case, the output coordinates will be very similar due to the similarity of WGS84 and NAD83. Make sure that the software you're using knows how to do datum transformations to perform this operation (its a different kind of transformation from projection).
The answer to your question is No. All the .prf file does is define what projection (including parameters) the data is stored in. This data can then be used in turn by some GIS programs perform "Data re-projection on the fly". This is why you can delete the .prj file without affecting your data, in fact you won't even notice it unless you tried to add it a .mxd or other GIS document with another project defined. To project or reproject shapefile requires editing the .shp file which contains the geographical data.
Here are links to the Wikipedia entry for Shapfile http://en.wikipedia.org/wiki/Shapefile
And a PDF version of the "ESRI Shapefile Technical Description" ESRI Shapefile Technical Description Whitepaper
I think this is a good question and just wanted to add a more explicit answer aimed directly to the original phrasing of the question.
No, reprojecting a shapefile does not only change the prj file, it changes both the prj file and the main shapefile contents (the .shp file). The reason being, as demonstrated by @csw, reprojecting a shapefile has to change the actual coordinate numbers which are located in the main .shp file, both for datum and projection changes. At least that is how it should technically and properly be done, and I would imagine that most GIS or projection software take these things very seriously.
More clearly stated, using a software to reproject a shapefile's geographic daturm or projected coordinate system should change the following files:
- .shp: yes
- .prj: yes
- others: not sure (maybe the .idx spatial index file?)
It is true from a theoretical standpoint, as some point out, that writing the prj file is not strictly speaking necessary, the practical difference however would be that no person or software can easily know what projection the coordinates are based on which limits what one can use the shapefile for. The opposite may also be true, as the accepted answer points out, that one could practically get away with only changing the prj file and not the .shp file in the case of some datum changes (as opposed to projection changes) bc datums sometimes only differ slightly from each other, but this would just be risky and unnecessary when there are many available tools for reprojecting it properly and besides will almost certainly not work when changing projected coordinate systems which tend to differ from each other to a greater extent.