Jump to content

 
Photo

Orthographic Projection in Manifold

- - - - -

  • Please log in to reply
11 replies to this topic

#1
rudy

rudy

    Ultimate Contributor

  • Validated Member
  • PipPipPipPipPipPip
  • 739 posts
  • Gender:Male
  • Location:Canada
  • Canada

Hello Cartographers and Manifold users:

Does any one know of an easy way to avoid the "see through globe" phenomenon when projecting world data in Manifold? I am trying to get a orthographic view point but whatever shows up in the opposite hemisphere shows up in reverse, making the map look like a mess. Does anyone know of a solution to this issue within Manifold? As well, country polygons that are right on the edge of the hemisphere don't show up properly.

Thanks.

#2
mdsumner

mdsumner

    Key Contributor

  • Validated Member
  • PipPipPip
  • 96 posts
  • Australia

Clip coordinates.

See the lengthy discussion on the help page "Orthographic"

It can be an intensive operation, so you're best to pre-clip what you can.

#3
mdsumner

mdsumner

    Key Contributor

  • Validated Member
  • PipPipPip
  • 96 posts
  • Australia

BTW, an easy way to see what area to pre-clip is to use an image - selections on a lat/lon image in an Orthographic map will show the shape you will see, without selecting the "other side".

#4
Holograph

Holograph

    Contributor

  • Validated Member
  • PipPip
  • 20 posts
  • United States

There's actually a much faster way to clip the "backside". Once you know the central point of your projection, create an azimuthal equidistant projection centered on that point. Then draw a circle in the azimuthal projection, centered on your point, with radius 1/4 circumference of the earth, and intersect it with the map drawing, deleting everything outside the circle. Now you can reproject to the orthogonal projection and the backside is gone.

Although it sounds complicated, it is really quite simple, and very fast. Much, much faster than letting Manifold clip the coordinates in the orthogonal projections.

You can vary the number of segments in the circle so that you get a sufficiently smooth boundary that is unnoticable in the final projection. You can also make the circle slightly smaller than 1/4 the circumference, and you will eliminate some of the crunch and clutter that gets compressed near the outside edge of the othogonal projection. Once you have the orthogonal projection, you can draw another circle to get the final smooth horizon.

#5
mdsumner

mdsumner

    Key Contributor

  • Validated Member
  • PipPipPip
  • 96 posts
  • Australia

Cool.

#6
rudy

rudy

    Ultimate Contributor

  • Validated Member
  • PipPipPipPipPipPip
  • 739 posts
  • Gender:Male
  • Location:Canada
  • Canada

Thanks for the tips. When I have a chance I will try them out and let you know how it works.

#7
Martin Gamache

Martin Gamache

    Ultimate Contributor

  • Associate Admin
  • PipPipPipPipPipPip
  • 980 posts
  • Gender:Male
  • Location:Washington DC
  • Interests:History of Topographic Cartography
    Topographic Mapping
    History of Relief Depiction
    Thematic Cartography
    Demographic Cartography
    Cartographic techniques, methods, and tools
    Orienteering
    Panoramic & Kite Photography
  • United States

There's actually a much faster way to clip the "backside". Once you know the central point of your projection, create an azimuthal equidistant projection centered on that point. Then draw a circle in the azimuthal projection, centered on your point, with radius 1/4 circumference of the earth, and intersect it with the map drawing, deleting everything outside the circle. Now you can reproject to the orthogonal projection and the backside is gone.



How would you go about specifying an circumference and center point for the circle?

#8
Holograph

Holograph

    Contributor

  • Validated Member
  • PipPip
  • 20 posts
  • United States

How would you go about specifying an circumference and center point for the circle?


Once in the azimuthal equidistant, use the geographic circle tool to create a circle centered on x=0,y=0 with radius ~10000 kilometers.

#9
rudy

rudy

    Ultimate Contributor

  • Validated Member
  • PipPipPipPipPipPip
  • 739 posts
  • Gender:Male
  • Location:Canada
  • Canada

There's actually a much faster way to clip the "backside". Once you know the central point of your projection, create an azimuthal equidistant projection centered on that point. Then draw a circle in the azimuthal projection, centered on your point, with radius 1/4 circumference of the earth, and intersect it with the map drawing, deleting everything outside the circle. Now you can reproject to the orthogonal projection and the backside is gone.

Although it sounds complicated, it is really quite simple, and very fast. Much, much faster than letting Manifold clip the coordinates in the orthogonal projections.

You can vary the number of segments in the circle so that you get a sufficiently smooth boundary that is unnoticable in the final projection. You can also make the circle slightly smaller than 1/4 the circumference, and you will eliminate some of the crunch and clutter that gets compressed near the outside edge of the othogonal projection. Once you have the orthogonal projection, you can draw another circle to get the final smooth horizon.


Now THAT worked like a charm! Thank for the tip!

However, I can't help but think why you would need to create a new dataset for something like this instead of using the same base. Wouldn't it be more efficient in the long run to use one data set instead of creating multiple versions of the same one? Anyway, it worked and I'm happy.

#10
BCowper

BCowper

    Contributor

  • Validated Member
  • PipPip
  • 32 posts
  • Gender:Male
  • Location:Aurora, Ontario, Canada
  • Canada

You could use SQL with ClipIntersect to crop the data to the circle and link query as a drawing, this would keep the original data intact.

Current software used: ArcInfo 10.1 (Spatial and 3D Anaylst), Manifold 8.0 Ultimate x64, AutoCAD Civil/Map 3D 2011 x64.


#11
Holograph

Holograph

    Contributor

  • Validated Member
  • PipPip
  • 20 posts
  • United States

However, I can't help but think why you would need to create a new dataset for something like this instead of using the same base. Wouldn't it be more efficient in the long run to use one data set instead of creating multiple versions of the same one? Anyway, it worked and I'm happy.


Yes, you can just keep changing the projection on the one dataset. There's no need to duplicate the dataset.

edit: Oops, I see what you mean. You create a new dataset for each map you want. I haven't tried BCowper's method, but it sounds like it might work. Does it incur a performance penalty again?

#12
BCowper

BCowper

    Contributor

  • Validated Member
  • PipPip
  • 32 posts
  • Gender:Male
  • Location:Aurora, Ontario, Canada
  • Canada

Here's the SQL that will clip the data and also reproject the data to Orthographic. I followed Holograph's instructions and reprojected my world data to azimuthal equidistant projection and then ran the query.

OPTIONS COORDSYS("Orthographic");

SELECT *

FROM

(SELECT ClipIntersect ([World Drawing].[ID], [Circle Drawing].[ID]) AS [ClipArea]

FROM [World Drawing], [Circle Drawing])

WHERE [ClipArea] IS NOT NULL;

Don't you just love SQL!

Current software used: ArcInfo 10.1 (Spatial and 3D Anaylst), Manifold 8.0 Ultimate x64, AutoCAD Civil/Map 3D 2011 x64.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

-->