Ice Age Mark · Global Mapper User

About

Username
Ice Age Mark
Joined
Visits
6,685
Last Active
Roles
Trusted User
Points
169
19
Badges
Posts
318
  • How do I rectify 64 layers with WGS projection to a site grid of Northings and Eastings

    Hello,

    The local grid problem is always a 'challenge' (also known as a PITA).  Your goal (to have your map layers correctly scaled, oriented, positioned, and displaying coordinates in your local system) 'should' be possible, but it must be done in several stages.  Try this procedure:

    Step 1 - Get a real world starting point near the site to create the property line/corners.

    Use Google Earth, zoom in, and create a point on your site as near to a property corner as possible.  Export/Save the point from GE, and import that .kmz point into a new empty GM session (i.e. no projection or layers yet).  Importing the GE point should make the projection become Mercator (GE sphere datum)  Now change the projection to the CA SPCS Zone you are in.  Pick feet as Planer Units.  Make the datum be NAD83.  You want NAD83 here because it's almost identical to WGS84, which is the datum of the real world points you will use later to translate.

    Step 2 - Use COGO to create the boundary as a vector feature and then rectify your map image to it.

    Select the point, then the COGO function. Start with the corner nearest your GE point and use the bearings and distances of the boundary to create a vector line feature that is the property line. (Go counterclockwise so you don't have to reverse the bearings)  This boundary doesn't "close", but let that go, you just want the corner points.  Import your map image and choose to manually rectify.  Choose the CA SPCS Zone and datum you used above for a projection.  [With GM you can just zoom to a property corner on the map image, click a point, then zoom to that corner in the reference image and GM will snap to it.  Then click add point (no need to enter any numbers that way)].  Do this for all 5 corners.  Pick triangulation for a rectification method.

    At this point your map should be roughly scaled, oriented, and located fairly near it's real world location.  Check this now with GM online imagery.  If you're far away something went wrong and you must try again.  If you are close, you will find that now your equirectangular local grid has been distorted from rectifying to the (likely erroneous) boundary bearings/distances.  The squares are rhombs and their area is not 10,000 sq.ft. as it should be.   

    Step 3 - To solve this you must create a vector grid of 100' squares with GM, then re-rectify the map image to that grid.  This part can be tricky.

    Use the 'create user grid' to make a 100' x 100' grid and anchor it to the nw'ly most local grid intersection.  Now select your previously rectified map and chose to re-rectify.  DELETE the old control points that are the property corners.  Now re-rectify like above, but use the grid intersections for your control.  Use at least 5 intersections so you can use triangulation as your rectification method.

    Now your map 'should' be properly scaled and oriented (check it), but it will still be off some in it's real world location (check this also with online imagery).  Here is where your real world coordinates (Lat/Long in WGS84) get used.  I can't help much with this part because you cannot share the site location.  However, I think you don't want to rectify for this step, you only want to 'translate' (shift horizontally) using one point, and see how that plays out.  If you rectify, your local grid may become distorted again.  It depends on the nature/projection of your real world coordinates, which I don't know.

    Step 4 - Lastly, if this all works, you will find that your coordinates are in CA SPCS, and not in your local grid system.  To solve this you must create a custom projection.  This is fairly easy, but again I cannot help with out the real data which you can't share.  In essence, you would use the 'extra false northing/easting' parameter in the SPCS projection to offset the coordinate values by cranking the math.

    This is pretty involved, but it 'should' work.  I have likely overlooked something, so don't hesitate to ask for help.  I think if you try it, you will see the concept, and be able to intuitively make it work for your situation.

    Best of luck,

    Mark
    sphillips
  • Not able to find the right syntax to downloa a hiking map from a webpage



    Hello again Mike,

    The syntax is: https://www.caimontilattari.it/caimap/Zoom level/X tile #/Y tile #.jpg

    Unfortunately, that's where the simplicity ends.  The map is an interactive tiled web map, so it is being created "on the fly" as you zoom and/or pan, in a manner similar to how Global Mapper's "Map Catalog" function works.  Each time you zoom/pan the website creates URL's for only the tiles necessary to complete that view (with some caching).  When you zoom and still get that nice crisp clear unpixelated image, it isn't "magnifying" as you might imagine, it's creating a new image from a different higher resolution tile set.  (Notice it takes a small time to display each time.)  

    The syntax is the same as the "slippy tile" format that the background map (and Google Earth, OSM, etc.) tiles use.  It is "...caimap/" is followed by a zoom level, which then determines an X and Y tile number for the tile by use of a formula.  I put the formulas below if you want to try it.  So, for example you would use "...caimap/Z15/17687/12317.jpg" for the upper leftmost tile at zoom level 15.

    The problem is the number of tiles you need for the whole map at the resolution I think you're expecting.  This map has a max zoom of 16, but only tiles above zoom 14 will likely be suitable.  Here is the X/Y tile # range and number of tiles in the map for Zoom levels 13-15:

    Zoom 13   (4421-4430), (3079-3083), 36 tiles
    Zoom 14   (8843-8861), 6158-6167), 162 tiles
    Zoom 15   (17687-17723), (12317-12337), 720 tiles

    The 36 Zoom level 13 tiles will create a map image 2304 x 1024 pixels, but it won't be crisp upon zooming anymore (like the web map), it will rapidly pixelate.  I attached a tile of each zoom level, so you can look for yourself at the resolution.  To me, level 13 is worthless, and even level 14 looked fuzzy at it's native size.  Level 15 looks really good, but as you can see, that introduces the next problem - how to mosaic 720 un-georeferenced images.  Even 36 is a formidable task.  (Irfanview might do it.)  But alas, at Zoom 13 resolution is out the window.

    So, the short of it all is that it can be done (and georeferenced too), but it's likely not worth the trouble for your needs.  If you had some small area(s) of the map you really wanted, you can use the formulas and extract an area of Z15 tiles; but it took 72 tiles just to make an area about 3.5 miles per side at Zoom 15.

    "You can't always get what you want"

    If you want to proceed in some way or have other questions, let me know.

    Best regards,

    Mark

    Formulas:

    Lat/Long (decimal degrees) to X/Y tile #'s

    n = 2 ^ zoom
    xtile = n * ((lon_deg + 180) / 360)
    ytile = n * (1 - (log(tan(lat_rad) + sec(lat_rad)) / π)) / 2

    X/Y tile #'s to Lat/long

    n = 2 ^ zoom
    lon_deg = xtile / n * 360.0 - 180.0
    lat_rad = arctan(sinh(π * (1 - 2 * ytile / n)))
    lat_deg = lat_rad * 180.0 / π
    (To automate these, you can find Python [and other] code here: https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Python)



          
    Mykle