Sunteți pe pagina 1din 5

// projection definition file format

//
// simple text-based file.
//
// each projection is composed of a number of segments, each having
// a number of associated exlusion triangles. Each of these segments
// is evaluated in order during a scan. For best performance, the
// segments should be listed in the scanning order of the software:
// across the columns (increasing X) then down the columns (increasing Y).
//
// A segment defines a slice of a projection. It has the basic
// projection parameters (cenlat, cenlon, ofsx, ofsy, zoom, lat0, lon0).
// It also has the offset within the defined image space (image space is
// defined as -1 to +1 in X and Y for the image; offset allows moving
// segments from the 0,0 point of the world). To limit exclusion checks,
// a segment has an area of effect (the edges of a lat/lon bounding box
// on the sphere). All lat, lon values are defined in degrees.
// Projection IDs must be defined between 64 and 191. Projection IDs
// outside this range will be silently rejected by the system even
// though the definition is valid. End users should define their
// projections on 128 to 191 to avoid collisions with potential
// future FT-programmer-defined releases.
//
// Associated with each projection segment are zero or more exclusion
// triangles. These triangles are defined in image space. If a point
// lands within an exclusion triangle it is no part of this segment.
// Exclusion triangles allow for infinite-extent projections to be
// bounded on the image plane (for example, an icosahedral projection
// based on the stereographic projection would have 20 segments, each
// bounded by 3 triangles to limit the area of extent). Note that the
// triangles are defined on the whole plane, not just on the +/- 1 X/Y
// image plane. The points should not be too large (maybe +/- 20), but
// making them too closely-bounded to the plane will leave parts of
// infinite projections exposed to the user's scrutiny.
//
// Projection ID, "Name"
//
// Extent
l, t, r, b // screen-space extents for the projection.
// Scale
scalefactor // whole-screen scale factor for the projection
//
// Segment "ProjName", cenlat, cenlon, ofsx, ofsy, zoom, lat1, lat2
// Rotate
angle
// rotation angle in (deg counter
clockwise)
// Scale
xscale, yscale
// scaling factor (deg)
// Offset
imgofsx, imgofsy
// offset area
// forward projection is computed as Rotate( angle, Forward(lat,lon) * scale)+
offset
// Effective leftlon, toplat, rightlon, botlat // area of interest
// Exclude type, outside, [data]
// // type == 0, triangle with data as pt1x, pt1y, pt2x, pt2y, pt3x, pt3y
// // type == 1, circle with data as cenx, ceny, radius
// // outside == 1 if data outside the specified zone should be excluded
// // other EXCLUDE definitions go here
// EndSegment // segment def
//
// // other segment definitions go here
//
// EndProjection
//

Projection 64, "6-way Interrupted Sinusoidal"


Extent -3.14159265, 1.57079633, 3.14159265, -1.57079633
Scale 1.57079633
Description "Demonstration of an interrupted projection. No fancy features, just
a basic definition."
Segment "Sinusoidal", 0, -3*60+30, 0, 0, 1, 0, 0
Offset -3*0.33333333, 0
Effective -3*60, 90, -3*60+60, -90
EndSegment
Segment "Sinusoidal", 0, -2*60+30, 0, 0, 1, 0, 0
Offset -2*0.33333333, 0
Effective -2*60, 90, -2*60+60, -90
EndSegment
Segment "Sinusoidal", 0, -1*60+30, 0, 0, 1, 0, 0
Offset -1*0.33333333, 0
Effective -1*60, 90, -1*60+60, -90
EndSegment
Segment "Sinusoidal", 0, 0*60+30, 0, 0, 1, 0, 0
Offset 0*0.33333333, 0
Effective 0*60, 90, 0*60+60, -90
EndSegment
Segment "Sinusoidal", 0, 1*60+30, 0, 0, 1, 0, 0
Offset 1*0.33333333, 0
Effective 1*60, 90, 1*60+60, -90
EndSegment
Segment "Sinusoidal", 0, 2*60+30, 0, 0, 1, 0, 0
Offset 2*0.33333333, 0
Effective 2*60, 90, 2*60+60, -90
EndSegment
EndProjection
//--------------------------------------------------------------------------Projection 65, "Rotation Demo"
Extent -3.14159265, 1.57079633, 3.14159265, -1.57079633
Scale 1.57079633
Description "Demonstration of interrupted projection with rotations."
Segment "Sinusoidal", 0, -180+45, 0, 0, 1, 0, 0
Rotate -45
Offset -0.35345, -0.35345
Effective -180, 90, -90, -90
EndSegment
Segment "Sinusoidal", 0, -45, 0, 0, 1, 0, 0
Rotate 45
Offset 0.35345, -0.35345
Effective -90, 90, 0, -90
EndSegment
Segment "Sinusoidal", 0, 45, 0, 0, 1, 0, 0

Rotate 135
Offset 0.35345, 0.35345
Effective 0, 90, 90, -90
EndSegment
Segment "Sinusoidal", 0, 180-45, 0, 0, 1, 0, 0
Rotate -135
Offset -0.35345, 0.35345
Effective 90, 90, 180, -90
EndSegment
EndProjection
//--------------------------------------------------------------------------Projection 66, "Exclusion Test"
//Extent -100, 100, 100, -100
Scale 1.57079633
Description "Demonstration of exclusion zones."
Segment "Stereographic", 0, 0, 0, 0, 1, 0, 0
scale 1, 1
Offset 0.0, 0.0
Effective -120, 60, 120, -60
Rotate 0
Exclude 0, 0, 0, 0, 0.5, 0.86602540378443864676372317075294, 1, 0
Exclude 1, 0, -1, -1, 0.5
EndSegment
EndProjection
//--------------------------------------------------------------------------Projection 67, "18-way Stereographic Gores"
Extent -3.15, 1.57079633, 3.15, -1.57079633
Scale 1.57079633
Effective -9*20, 90, -9*20+20, -90
Segment "Stereographic", 0, -9*20+10, 0, 0, 1, 0, 0
Offset -9*0.175, 0
Effective -9*20, 90, -9*20+20, -90
EndSegment
Segment "Stereographic", 0, -8*20+10, 0, 0, 1, 0, 0
Offset -8*0.175, 0
Effective -8*20, 90, -8*20+20, -90
EndSegment
Segment "Stereographic", 0, -7*20+10, 0, 0, 1, 0, 0
Offset -7*0.175, 0
Effective -7*20, 90, -7*20+20, -90
EndSegment
Segment "Stereographic", 0, -6*20+10, 0, 0, 1, 0, 0
Offset -6*0.175, 0
Effective -6*20, 90, -6*20+20, -90
EndSegment

Segment "Stereographic", 0, -5*20+10, 0, 0, 1, 0, 0


Offset -5*0.175, 0
Effective -5*20, 90, -5*20+20, -90
EndSegment
Segment "Stereographic", 0, -4*20+10, 0, 0, 1, 0, 0
Offset -4*0.175, 0
Effective -4*20, 90, -4*20+20, -90
EndSegment
Segment "Stereographic", 0, -3*20+10, 0, 0, 1, 0, 0
Offset -3*0.175, 0
Effective -3*20, 90, -3*20+20, -90
EndSegment
Segment "Stereographic", 0, -2*20+10, 0, 0, 1, 0, 0
Offset -2*0.175, 0
Effective -2*20, 90, -2*20+20, -90
EndSegment
Segment "Stereographic", 0, -1*20+10, 0, 0, 1, 0, 0
Offset -1*0.175, 0
Effective -1*20, 90, -1*20+20, -90
EndSegment
Segment "Stereographic", 0, 0*20+10, 0, 0, 1, 0, 0
Offset 0*0.175, 0
Effective 0*20, 90, 0*20+20, -90
EndSegment
Segment "Stereographic", 0, 1*20+10, 0, 0, 1, 0, 0
Offset 1*0.175, 0
Effective 1*20, 90, 1*20+20, -90
EndSegment
Segment "Stereographic", 0, 2*20+10, 0, 0, 1, 0, 0
Offset 2*0.175, 0
Effective 2*20, 90, 2*20+20, -90
EndSegment
Segment "Stereographic", 0, 3*20+10, 0, 0, 1, 0, 0
Offset 3*0.175, 0
Effective 3*20, 90, 3*20+20, -90
EndSegment
Segment "Stereographic", 0, 4*20+10, 0, 0, 1, 0, 0
Offset 4*0.175, 0
Effective 4*20, 90, 4*20+20, -90
EndSegment
Segment "Stereographic", 0, 5*20+10, 0, 0, 1, 0, 0
Offset 5*0.175, 0
Effective 5*20, 90, 5*20+20, -90
EndSegment
Segment "Stereographic", 0, 6*20+10, 0, 0, 1, 0, 0
Offset 6*0.175, 0
Effective 6*20, 90, 6*20+20, -90
EndSegment

Segment "Stereographic", 0, 7*20+10, 0, 0, 1, 0, 0


Offset 7*0.175, 0
Effective 7*20, 90, 7*20+20, -90
EndSegment
Segment "Stereographic", 0, 8*20+10, 0, 0, 1, 0, 0
Offset 8*0.175, 0
Effective 8*20, 90, 8*20+20, -90
EndSegment
EndProjection
//---------------------------------------------------------------------------

S-ar putea să vă placă și