Create custom projection using either QGIS (or ArcGIS)? – www.scriptscoop.net

Geographic Coordinates Latitude, Longitude, Ellipsoid Height(meters) (Deg.MMSSsssss) ie (54.00595628 = 54 degrees 00 minutes 59.5628 seconds) 1 54.00595628 -128.4231334 30.48 MON This isn't the answer you want, but it is possible to transform the lat/lon data to your local grid. The extents of your project are not great so the transformation can be done directly using GRASS v.transform from the QGIS Sextante tool box. To do this you will need to copy the text below to a text file. Assuming your points are in a lat/lon shapefile, load this into QGIS. Then open v.transform (from the Sextante Toolbox), select the name of the input vector map, under 'Name of input text file with GCPs' select 'transform.txt' and press OK. A new local coordinate shapefile will be created, save this. I haven't tested this, but it should be possible transform from local to lat/lon if you change 'transform.txt' so that the local coordinates come first. Once you have the data in lat/lon you can of course save it to any CRS you wish. Transforming from lat/lon to local appears to be quite accurate, the errors appear to be in the order of 20 to 30 mm. I don't have a definitive answer, but a step towards a custom CRS using ArcGIS. ArcGIS has a 'Local' projection. It actually an ellipsoid-based orthographic projection. The 'trans' values were throwing me off until I realized they were false easting/northing values for the local system. This technique isn't useful unless you have control points in both systems, which you provided for nhopton. I would not have gotten this far without him asking for sample points. Anyway, using the UTM coordinates, unprojected to lat/lon for the center point, and the other parameters, I made a Local CRS. The data still rotated because the rotation value is likely based on the UTM zone, not from geodetic North, so I adjusted it. The points still do not overlay that well (0.2 to 0.6 m) but you can now keep adjusting the parameters to see if you can get a better fit. I just don't have the time right now. Here's the WKT: PROJCS['canada_local',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Local'],PARAMETER['False_Easting',2068.553],PARAMETER['False_Northing',4973.397],PARAMETER['Scale_Factor',1.0003933608],PARAMETER['Azimuth',-9.98000000000015],PARAMETER['Longitude_Of_Center',-128.6996571570882],PARAMETER['Latitude_Of_Center',54.0121078922195],UNIT['Meter',1.0]] Copy the string (as a single line) to a text file and add it to your 'Favorites' location. On XP with ArcGIS 10.1, it's Now add your UTM or lat/lon data to ArcMap, plus the data in the local system. Do not assign this CRS to the local data. Assign to ArcMap in the data frame properties. You'll see that the reference and local data, almost line up. Now modify the data frame's coordinate system and keep adjusting the parameter values to try to get a better fit. You can use the Apply button on the data frame properties dialog to check how the fit changes. I don't know a definite solution, but First, I'd try loading a value of '-1' for the CRS code for QGIS. Or, if that doesn't work, and you have Qspatialite functional within QGIS, then I would try loading your CSV data into a spatialite database, using SRID:-1 [Undefined - Cartesian] as the spatial reference ID, then loading that into QGIS as a spatialite layer. Spatialite atleast recognizes -1 as [Undefined - Cartesian] and also SRID:0 [Undefined - Geographic Long/Lat] [edit below] 2nd idea on what to do: I think you may have QGIS settings setup to automatically use the default CRS of WGS 84. I don't think that QGIS supports a Generic cartesian 2D (see SR-ORG:7203 at www.spatialreference.org) coordinate system, after all, anything that's geographic is better represented on a globe, so with QGIS you will have to pretend your map comes from a Globe rather than a flat world--actually your map is coming from a Globe, its just that if it's a small area it doesn't really matter. NAME: Test1 +proj=tmerc +lat_0=0 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs [click the FILE] save CRS. Remember your name and apply it to your layer. All CRSs are simple XY grids. If you are not interested in fitting your project onto the 'real world' you could use any projection you like. World Mercator (EPSG:3395) would do, for example. Source.


Яндекс.Метрика Рейтинг@Mail.ru Free Web Counter
page counter
Last Modified: April 22, 2016 @ 7:08 pm