Geographic Information Systems Asked by theDrifter on March 26, 2021
I am using the GIS tool SharpMap together with ProjNet(4GeoAPI) as a tool to switch between CRS and transform coordinates (This information are just for context; my question is more abstract).
The app I am building uses multiple layers and I need to rotate one layer which has a Web Mercator PCS.
Currently it looks like this; a projection with the parameters
var parameters = new List<ProjectionParameter>
{
new ProjectionParameter("semi_major", 6378137.0),
new ProjectionParameter("semi_minor", 6378137.0),
new ProjectionParameter("latitude_of_origin", 0.0),
new ProjectionParameter("central_meridian", 0.0),
new ProjectionParameter("scale_factor", 0.9996),
new ProjectionParameter("false_easting", 0.0),
new ProjectionParameter("false_northing", 0.0),
};
var projection = csFac.CreateProjection("WebMercator", "mercator_1sp", parameters);
and from there the Webmercator-PCS gets constructed:
_epsg3857 = csFac.CreateProjectedCoordinateSystem("Google Mercator",
_epsg4326, projection, LinearUnit.Metre, new AxisInfo("East", AxisOrientationEnum.East),
new AxisInfo("North", AxisOrientationEnum.North));
Where _epsg4326
is a Geographic Coordinate System using the WGS84 datum and the Greenwhich Prime Meridian.
To have the layer not aligned to north, I tried to setup the projection with the azimuth parameter and an angle, adding to the parameter list:
new ProjectionParameter("azimuth",45.0)
which does not work. I read about angular parameters in the ArcGIS help. But still the coordinates were the same as in the other layers.
What is the correct way of changing the rotation? Is this the correct way? (Somehow I am doubtful) or is it more easy to apply an Affine transformation to the needed points and "fake" a rotation?
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP