Subscribe to this thread
Home - General / All posts - Problem with map layer alignments with ArcServer hosted Basemap
dj2k6 post(s)
#22-May-20 14:30

Hello,

I'm a recent Manifold 9 user in the UK, and have an in-house hosted tile basemap layer on ArcServer. Here's the url - https://maps.kingston.gov.uk/arcgis/rest/services/BaseMaps/BaseMaps/MapServer

If I use this basemap in ArcDesktop or QGIS and overlay our other sde layers or shapefiles (example shapefile attached)using the same projection, EPSG:27700, they align perfectly. If I try the same in Manifold, the layers are shifted (see attached screenshots).

I've tried changing the map projection and the layer projections in Manifold but without success.

Any advice appreciated.

Thanks in advance,

Darren

Attachments:
boroughBoundaryShp.zip
Manifold.jpg
QGIS.jpg

adamw


9,135 post(s)
#22-May-20 15:55

The server reports the coordinate system of the image as EPSG:27700 (we add some offsets and scales, that's fine), however the SHP file comes with the PRJ which reports the coordinate system as kind-of EPSG:27700, but not quite - it lacks parameters for the datum. So, the PRJ file tells that the drawing uses a different coordinate system than the image.

Your screenshot for Manifold shows that the coordinate system name is different from what is in the PRJ file so I guess you already changed it, but when I change it, the drawing lines up with the image, so I guess there's a difference between what you and I do to change it. What I do to change it is: open the drawing (or make the drawing layer in the map with the drawing and the image the active layer), open the Component pane, click the button near the second coordinate system readout (the first one is for the map, the second is for the active layer), then select Repair Initial Coordinate System - More, switch to the EPSG tab, type '27700' into the filter box, select EPSG:27700, click OK. Could it be that you did Reproject Component instead? That would have left the drawing where it is and changed the coordinate values.

Here's a picture:

Hope this helps.

Attachments:
layers-line-up.png

dj2k6 post(s)
#22-May-20 16:37

Thanks Adam, that worked for me too. Yes, I'd clicked the Reproject option rather than the Repair option.

FYI, all our SDE layers are set to the ESRI out-of-the-box British National Grid coord system (description shown below.

British_National_Grid

WKID: 27700 Authority: EPSG

Projection: Transverse_Mercator

False_Easting: 400000.0

False_Northing: -100000.0

Central_Meridian: -2.0

Scale_Factor: 0.9996012717

Latitude_Of_Origin: 49.0

Linear Unit: Meter (1.0)

Geographic Coordinate System: GCS_OSGB_1936

Angular Unit: Degree (0.0174532925199433)

Prime Meridian: Greenwich (0.0)

Datum: D_OSGB_1936

Spheroid: Airy_1830

Semimajor Axis: 6377563.396

Semiminor Axis: 6356256.909237285

Inverse Flattening: 299.3249646

If I add an SDE layer to Manifold it recognises the coord system to be ARCSDE:2. If I then overlay it on the basemap, which was originally built using the same layer, then they don't align. If I take a copy and run the repair coord system then it does match, the same as the shapefile.

Like I say, if I overlay the same SDE layer (or shapefile) in QGIS (or Arc) then they align without requiring any manual correction. Maybe they adjust the layer automatically?

adamw


9,135 post(s)
#22-May-20 16:50

The definition of EPSG:27700 includes the following parameters for the datum in addition to those listed, you can see them in the coordinate system dialog:

...

"CenterX": 446.448,

"CenterY": -125.157,

"CenterZ": 542.06,

"RotationX": -0.000041666666666666665,

"RotationY": -0.00006861111111111111,

"RotationZ": -0.0002338888888888889,

"ScaleAdjustment": -20.489,

...

My guess is that Arc / QGIS see that the name of the datum / GCS is D / GCS_OSGB_1936 and decide - hey, we know that datum, let's use the center shifts / rotations assigned to it that we store in some internal database. We would rather not do that and keep everything explicit, otherwise it is easy (for users) to get lost in a sea of hidden-but-implied parameters.

Is the definition of the coordinate system stored in SDE the same as in the PRJ? No center shifts / rotations / scale adjustments, just what you listed above?

Maybe we could have a translation layer for the names, at least user-configured (so that you can specify the name of the system / datum you are using often and what it should translate to, then we perform the translation dynamically).

(Just thought of this: could it be that Arc / QGIS ignore datum-to-datum transformation parameters during visualization? That would be unexpected, but it would explain the result of no shift - because that would essentially ignore part of ESPG:27700 in the image and the remainder would be what is in the PRJ. I'll try to check.)

adamw


9,135 post(s)
#22-May-20 17:07

On second thought, I think I know what happens in Arc - they see this data in the definition:

WKID: 27700 Authority: EPSG

...and based on that decide that the coordinate system in the SDE layer is the same as in the ArcGIS REST image, which is EPSG:27700.

We could do the same, I'll file a request to add this. There will be an issue of what to do when other parameters specified for the coordinate system differ from what is implied by the EPSG code, but we can work it out.

I'll check what happens in QGIS.

dj2k6 post(s)
#22-May-20 17:12

That sounds really helpful. Thanks, and have a good weekend.

Manifold User Community Use Agreement Copyright (C) 2007-2019 Manifold Software Limited. All rights reserved.