I have been given the task of:
- Loading a list of properties with lat/long coordinates into a SQL Server 2008 database.
- Loading points and areas (polygons) of interest from a variety of shapefiles from various local, state, and national sources.
- Allowing the user to query the areas of interest within certain distances of a given property.
- Allow another programmer to extract both the property and points/areas of interest to KML files for visualization in Google Earth.
My problem is that each source of shapefiles uses their own projection and SQL Server cannot perform comparisons on geographical data using different projections, nor can it convert from one projection to another.
I have determined that, using the pyproj library, I am able to convert a point from a given projection to lat / long. I tested this by converting a point location known to be in Pinellas Park, Florida and then displaying the corresponding lat / long in Google maps — and the displayed point is in Pinellas Park (although Google's estimate of the building number is off a little; 5551 XYZ Ave instead of 5541).
My question (at last): is it a safe and reasonable strategy to convert all the points in the incoming shapefiles to lat / long and store them that way, using the SQL Server standard SRID of 4326? Is there any danger of loss of precision or shifting in the conversion? If the converted lat / long polygons are displayed in Google Earth will they be identical to a display produced from the original shape files?