[Proj] Re: Global Gauss-Kruger and libproj4---the final story

strebe strebe at aol.com
Thu Aug 28 00:37:36 EDT 2008


On Aug 27, 2008, at 5:32:33 PM, "Gerald I. Evenden" <geraldi.evenden at gmail.com> wrote:

________

Yes, you run into them every 10 to 20 years.

________

No, I run into them commonly. Perhaps you run into them every ten or twenty years.

________

No other projection has a requirement that the user needs to know an arcane 
formula to manipulate graphical usage to interpret the results. There is 
currently no means for libproj4 to return such information. 

________

I do not understand that utterance. The problem has nothing to with "graphical usage", whatever that means. It has to do with the results of the projection at a single point. Many world projections do not come with a 90°N/S, 180° E/W natural boundary that the client software can treat as some fixed convention, and all projections have interruptions. An interruption automatically means the projection formulæ are not a function, which renders this utterance invalid:

________

I am tired of repeating, libproj4 is *NOT* a graphic routine any more than 
sine or tangent. In the case of making maps it is merely the process that 
transforms information from one coordinate system to another!

________

Sine and tangent are functions. A projection is not. It is generating formulæ that are (usually) a function over the range of the map except at boundaries, where they are multivalued. You have chosen, for your own convenience, to ignore the the possible multiple results of the projecting formulæ. That is fine, but it does not make your rant correct; it only makes your decision convenient for you. In any case, if you're tired of repeating yourself, then quit repeating yourself. I suspect everyone else is tired of it, too — particularly because it's a straw man.

Would you like a list of world projections whose boundaries differ from the boundaries of finite cylindric projections? And if there are many projections with other kinds of boundaries, would you explain again how it is that the ellipsoidal transverse Mercator is somehow unique in that regard?

I don't care if you don't implement a global ellipsoidal transverse Mercator. If you don't want to implement it, then don't implement it. Surely no one can begrudge that — no one's paying you to, as far as I know. I just don't see the point of rationalizing that decision with sophistry, or why you'd expect your audience to swallow the rationalizations. I suggest just stating that you're not convinced of the value of the work, or that you hate the ellipsoidal transverse Mercator, or that you're tired, and be done with it. Which reminds me: once again, I am tired of these sorts of conversations, and am done with this one.

Regards,
-- daan Strebe


On Aug 27, 2008, at 5:32:33 PM, "Gerald I. Evenden" <geraldi.evenden at gmail.com> wrote:
From:   "Gerald I. Evenden" <geraldi.evenden at gmail.com>
Subject:    Re: Global Gauss-Kruger and libproj4---the final story
Date:   August 27, 2008 5:32:33 PM PDT
To: strebe <strebe at aol.com>
Cc: proj at lists.maptools.org
On Wednesday 27 August 2008 5:50:35 pm strebe wrote:
> Surely there is nothing unique to the ellipsoidal transverse Mercator in
> this regard. Consider, for example, a spherical coordinate rotation that
> leaves the equator coincident with the original 180th meridian of any
> cylindric or pseudocylindric projection. In order to draw the equator
> properly, it must be drawn at the locations of both the 180th east and west
> original meridians. There is no end to cases like this.

Yes, you run into them every 10 to 20 years.

> While it is true the location of the cusp varies in the ellipsoidal
> transverse Mercator according to the eccentricity, that is merely a
> parameterization detail. Many projections vary something or another
> according to parameterization, and sometimes what varies is the location or
> extent of an interruption. Once you have an interruption, you have
> one-to-many mapping, and any map line coincident with that interruption
> must be drawn in (at least) two places in order to be correct. All global
> projections are interrupted.

What do you mean by interrupted other than by the longitude boundary. If you 
are talking about interrupted maps such as Goode's Interrupted Homolosine 
projection, that is generated by 4 initialized libproj4 projection structures 
used by 8 geographic clipping windows for the fully fleshed out version. 
None of the libproj4 entries ever sees a geographic point out of range. The 
+proj=goode projection used by each of the initialized structures (differing 
only by initializing central meridians) has no "idea" of the complexity of 
the map being drawn and only returns *one* coordinate pair when called.

> Given comments you have made in the past, I gather that the natural
> boundary of the projection is up to the client application (or some other
> library) to compute.

Absolutely. libproj4 merely handles the projection part. It doesn't do 
windows. Those aspects are an entirely different disciplines and involve 
very different procedures.

> This means that any imaging of lines coincident to 
> interruptions must also be up to the client or some other library, since
> interruptions are always part of the natural boundary of the projection.
> Therefore the rationale of one-to-many mapping precluding a global
> ellipsoidal transverse Mercator in iibproj4 is fallacious.

Image or display of the lines has *nothing* to do with the mechanics of 
computing the projection. In many situations, like grid computing, graphics 
operation are not involved.

> Ways a one-to-many situation may be handled:

If you say so. It is not the problem of a projection.

> 1) The bare-bones projection package returns all values corresponding to
> the mapped input point.
> This is unsatisfactory when the result is not a 
> finite number of points, such as a pole that is stretched into a line. A

A flat pole is graphically handled by repeated calls to libproj4 by the 
graphic software using varying longitude and fixed latitude at +-90. 
Knowledge of how to deal with various oddities in displaying the projection 
are functions of the calling software.

> sophisticated solution would return an object instance that spits out
> cartesian points according to some parameterized form. In almost all
> instances, it would only spit out one result, but in the case of a typical
> interruption it would spit out two results, and in the case of a
> point-to-line mapping, it would spit out a different cartesian value for
> each value of a supplied parameter.

I have graphic procedures that handle line projection line graphics used in my 
manual and they operate with libproj4 only indicating that a point may be not 
be projectable or the next point has unexpected characteristics. In all 
cases, libproj4 *only* returns one point per entry with the only abnormal 
return for points not projectable, Its been working fine for nearly 40 years 
that way.

> I gather this is not an option for libproj4.

I am tired of repeating, libproj4 is *NOT* a graphic routine any more than 
sine or tangent. In the case of making maps it is merely the process that 
transforms information from one coordinate system to another!

> 2) Don't. Just return a single value and put the onus on the client
> application or some other library. Since libproj4 already does this for the
> projection's natural boundary, client applications already understand that
> they need to know something about the projection in order to do anything
> useful with it. What is true with any projection is true with global
> ellipsoidal transverse Mercator: you need to know the natural boundary of
> the projection in order to draw it.

No other projection has a requirement that the user needs to know an arcane 
formula to manipulate graphical usage to interpret the results. There is 
currently no means for libproj4 to return such information. 

> Yes, the computation of an ellipsoidal transverse Mercator is an order of
> magnitude (or two) more expensive than series expansions for regions near
> the central meridian. Whether that is useful or practical for the client
> application should be up to the client. Naturally if you (and everyone
> else) is not inclined to program a global ellipsoidal transverse Mercator,
> then it will not happen. I do not encourage abandoning the project for
> reasons that are not reasonable, however.

What is reasonable??? As an academic curiosity---sure. As a practical 
projection? You have to be kidding! The last few kilometers of easting are 
so distorted that it is impossible to figure out what one is looking at. We 
lop off the top and bottom of Mercator, lets have the grace to do the same 
here.

>
> Regards,
> -- daan Strebe
...
-- 
The whole religious complexion of the modern world is due
to the absence from Jerusalem of a lunatic asylum.
-- Havelock Ellis (1859-1939) British psychologist

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20080827/dce58253/attachment-0001.html


More information about the Proj mailing list