 'Create a CoordSys object and get its list of projections
c = CoordSys.Make
c.SetName("BCC Projections")
r = Rect.Make(103@"-56".AsNumber,164@"-7".AsNumber)
projections = c.GetProjections

' Create a projection
r = Rect.Make(103@"-56".AsNumber,164@"-7".AsNumber)
projection1 = Albers.Make(r)
projection1.SetDescription("Albers - Europe")
projection1.SetCentralMeridian(45)
projection1.SetReferenceLatitude(0)
projection1.SetLowerStandardParallel(52)
projection1.SetUpperStandardParallel(64)
projection1.SetFalseEasting(8500000)
projection1.SetFalseNorthing(0)
projection1.SetSpheroid(#SPHEROID_KRASOVSKY)

' Create another projection
projection2 = Albers.Make(r)
projection2.SetDescription("Albers - Siberia")
projection2.SetCentralMeridian(105)
projection2.SetReferenceLatitude(0)
projection2.SetLowerStandardParallel(52)
projection2.SetUpperStandardParallel(64)
projection2.SetFalseEasting(18500000)
projection2.SetFalseNorthing(0)
projection2.SetSpheroid(#SPHEROID_KRASOVSKY)

projection3 = Albers.Make(r)
projection3.SetDescription("Albers - FarEast")
projection3.SetCentralMeridian(135)
projection3.SetReferenceLatitude(0)
projection3.SetLowerStandardParallel(52)
projection3.SetUpperStandardParallel(64)
projection3.SetFalseEasting(23500000)
projection3.SetFalseNorthing(0)
projection3.SetSpheroid(#SPHEROID_KRASOVSKY)

projection4 = Lambert.Make(r)
projection4.SetDescription("Canada - LCC")
projection4.SetCentralMeridian(-95)
projection4.SetReferenceLatitude(49)
projection4.SetLowerStandardParallel(49)
projection4.SetUpperStandardParallel(77)
projection4.SetFalseEasting(0)
projection4.SetFalseNorthing(0)
projection4.SetSpheroid(#SPHEROID_WGS84)

projection5 = Albers.Make(r)
projection5.SetDescription("Albers - Romania")
projection5.SetCentralMeridian(15)
projection5.SetReferenceLatitude(0)
projection5.SetLowerStandardParallel(52)
projection5.SetUpperStandardParallel(64)
projection5.SetFalseEasting(3500000)
projection5.SetFalseNorthing(0)
projection5.SetSpheroid(#SPHEROID_KRASOVSKY)

' Add the new projections to the CoordSys projections
projections.Add(projection1)
projections.Add(projection2)
projections.Add(projection3)
projections.Add(projection4)
projections.Add(projection5)

 'Create a CoordSys object and get its list of projections
c2 = CoordSys.Make
c2.SetName("Gauss Krueger")
projections = c2.GetProjections

' Create a projection

p30 = TransverseMercator.Make(r)
p30.SetDescription("GK Zone 3")
p30.SetCentralMeridian(15)
p30.SetReferenceLatitude(0)
p30.SetScale(1)
p30.SetFalseEasting(3500000)
p30.SetFalseNorthing(0)
p30.SetSpheroid(#SPHEROID_KRASOVSKY)

p29 = TransverseMercator.Make(r)
p29.SetDescription("GK Zone 4")
p29.SetCentralMeridian(21)
p29.SetReferenceLatitude(0)
p29.SetScale(1)
p29.SetFalseEasting(4500000)
p29.SetFalseNorthing(0)
p29.SetSpheroid(#SPHEROID_KRASOVSKY)

p1 = TransverseMercator.Make(r)
p1.SetDescription("GK Zone 5")
p1.SetCentralMeridian(27)
p1.SetReferenceLatitude(0)
p1.SetScale(1)
p1.SetFalseEasting(5500000)
p1.SetFalseNorthing(0)
p1.SetSpheroid(#SPHEROID_KRASOVSKY)

p2 = TransverseMercator.Make(r)
p2.SetDescription("GK Zone 6")
p2.SetCentralMeridian(33)
p2.SetReferenceLatitude(0)
p2.SetScale(1)
p2.SetFalseEasting(6500000)
p2.SetFalseNorthing(0)
p2.SetSpheroid(#SPHEROID_KRASOVSKY)

p3 = TransverseMercator.Make(r)
p3.SetDescription("GK Zone 7")
p3.SetCentralMeridian(39)
p3.SetReferenceLatitude(0)
p3.SetScale(1)
p3.SetFalseEasting(7500000)
p3.SetFalseNorthing(0)
p3.SetSpheroid(#SPHEROID_KRASOVSKY)

p4 = TransverseMercator.Make(r)
p4.SetDescription("GK Zone 8")
p4.SetCentralMeridian(45)
p4.SetReferenceLatitude(0)
p4.SetScale(1)
p4.SetFalseEasting(8500000)
p4.SetFalseNorthing(0)
p4.SetSpheroid(#SPHEROID_KRASOVSKY)

p5 = TransverseMercator.Make(r)
p5.SetDescription("GK Zone 9")
p5.SetCentralMeridian(51)
p5.SetReferenceLatitude(0)
p5.SetScale(1)
p5.SetFalseEasting(9500000)
p5.SetFalseNorthing(0)
p5.SetSpheroid(#SPHEROID_KRASOVSKY)

p6 = TransverseMercator.Make(r)
p6.SetDescription("GK Zone 10")
p6.SetCentralMeridian(57)
p6.SetReferenceLatitude(0)
p6.SetScale(1)
p6.SetFalseEasting(10500000)
p6.SetFalseNorthing(0)
p6.SetSpheroid(#SPHEROID_KRASOVSKY)

p7 = TransverseMercator.Make(r)
p7.SetDescription("GK Zone 11")
p7.SetCentralMeridian(63)
p7.SetReferenceLatitude(0)
p7.SetScale(1)
p7.SetFalseEasting(11500000)
p7.SetFalseNorthing(0)
p7.SetSpheroid(#SPHEROID_KRASOVSKY)

p8 = TransverseMercator.Make(r)
p8.SetDescription("GK Zone 12")
p8.SetCentralMeridian(69)
p8.SetReferenceLatitude(0)
p8.SetScale(1)
p8.SetFalseEasting(12500000)
p8.SetFalseNorthing(0)
p8.SetSpheroid(#SPHEROID_KRASOVSKY)

p9 = TransverseMercator.Make(r)
p9.SetDescription("GK Zone 13")
p9.SetCentralMeridian(75)
p9.SetReferenceLatitude(0)
p9.SetScale(1)
p9.SetFalseEasting(13500000)
p9.SetFalseNorthing(0)
p9.SetSpheroid(#SPHEROID_KRASOVSKY)

p10 = TransverseMercator.Make(r)
p10.SetDescription("GK Zone 14")
p10.SetCentralMeridian(81)
p10.SetReferenceLatitude(0)
p10.SetScale(1)
p10.SetFalseEasting(14500000)
p10.SetFalseNorthing(0)
p10.SetSpheroid(#SPHEROID_KRASOVSKY)

p11 = TransverseMercator.Make(r)
p11.SetDescription("GK Zone 15")
p11.SetCentralMeridian(87)
p11.SetReferenceLatitude(0)
p11.SetScale(1)
p11.SetFalseEasting(15500000)
p11.SetFalseNorthing(0)
p11.SetSpheroid(#SPHEROID_KRASOVSKY)

p12 = TransverseMercator.Make(r)
p12.SetDescription("GK Zone 16")
p12.SetCentralMeridian(93)
p12.SetReferenceLatitude(0)
p12.SetScale(1)
p12.SetFalseEasting(16500000)
p12.SetFalseNorthing(0)
p12.SetSpheroid(#SPHEROID_KRASOVSKY)

p13 = TransverseMercator.Make(r)
p13.SetDescription("GK Zone 17")
p13.SetCentralMeridian(99)
p13.SetReferenceLatitude(0)
p13.SetScale(1)
p13.SetFalseEasting(17500000)
p13.SetFalseNorthing(0)
p13.SetSpheroid(#SPHEROID_KRASOVSKY)

p14 = TransverseMercator.Make(r)
p14.SetDescription("GK Zone 18")
p14.SetCentralMeridian(105)
p14.SetReferenceLatitude(0)
p14.SetScale(1)
p14.SetFalseEasting(18500000)
p14.SetFalseNorthing(0)
p14.SetSpheroid(#SPHEROID_KRASOVSKY)

p15 = TransverseMercator.Make(r)
p15.SetDescription("GK Zone 19")
p15.SetCentralMeridian(111)
p15.SetReferenceLatitude(0)
p15.SetScale(1)
p15.SetFalseEasting(19500000)
p15.SetFalseNorthing(0)
p15.SetSpheroid(#SPHEROID_KRASOVSKY)

p16 = TransverseMercator.Make(r)
p16.SetDescription("GK Zone 20")
p16.SetCentralMeridian(117)
p16.SetReferenceLatitude(0)
p16.SetScale(1)
p16.SetFalseEasting(20500000)
p16.SetFalseNorthing(0)
p16.SetSpheroid(#SPHEROID_KRASOVSKY)

p17 = TransverseMercator.Make(r)
p17.SetDescription("GK Zone 21")
p17.SetCentralMeridian(123)
p17.SetReferenceLatitude(0)
p17.SetScale(1)
p17.SetFalseEasting(21500000)
p17.SetFalseNorthing(0)
p17.SetSpheroid(#SPHEROID_KRASOVSKY)

p18 = TransverseMercator.Make(r)
p18.SetDescription("GK Zone 22")
p18.SetCentralMeridian(129)
p18.SetReferenceLatitude(0)
p18.SetScale(1)
p18.SetFalseEasting(22500000)
p18.SetFalseNorthing(0)
p18.SetSpheroid(#SPHEROID_KRASOVSKY)

p19 = TransverseMercator.Make(r)
p19.SetDescription("GK Zone 23")
p19.SetCentralMeridian(135)
p19.SetReferenceLatitude(0)
p19.SetScale(1)
p19.SetFalseEasting(23500000)
p19.SetFalseNorthing(0)
p19.SetSpheroid(#SPHEROID_KRASOVSKY)

p20 = TransverseMercator.Make(r)
p20.SetDescription("GK Zone 24")
p20.SetCentralMeridian(141)
p20.SetReferenceLatitude(0)
p20.SetScale(1)
p20.SetFalseEasting(24500000)
p20.SetFalseNorthing(0)
p20.SetSpheroid(#SPHEROID_KRASOVSKY)

p21 = TransverseMercator.Make(r)
p21.SetDescription("GK Zone 25")
p21.SetCentralMeridian(147)
p21.SetReferenceLatitude(0)
p21.SetScale(1)
p21.SetFalseEasting(25500000)
p21.SetFalseNorthing(0)
p21.SetSpheroid(#SPHEROID_KRASOVSKY)

p22 = TransverseMercator.Make(r)
p22.SetDescription("GK Zone 26")
p22.SetCentralMeridian(153)
p22.SetReferenceLatitude(0)
p22.SetScale(1)
p22.SetFalseEasting(26500000)
p22.SetFalseNorthing(0)
p22.SetSpheroid(#SPHEROID_KRASOVSKY)

p23 = TransverseMercator.Make(r)
p23.SetDescription("GK Zone 27")
p23.SetCentralMeridian(159)
p23.SetReferenceLatitude(0)
p23.SetScale(1)
p23.SetFalseEasting(27500000)
p23.SetFalseNorthing(0)
p23.SetSpheroid(#SPHEROID_KRASOVSKY)

p24 = TransverseMercator.Make(r)
p24.SetDescription("GK Zone 28")
p24.SetCentralMeridian(165)
p24.SetReferenceLatitude(0)
p24.SetScale(1)
p24.SetFalseEasting(28500000)
p24.SetFalseNorthing(0)
p24.SetSpheroid(#SPHEROID_KRASOVSKY)

p25 = TransverseMercator.Make(r)
p25.SetDescription("GK Zone 29")
p25.SetCentralMeridian(171)
p25.SetReferenceLatitude(0)
p25.SetScale(1)
p25.SetFalseEasting(29500000)
p25.SetFalseNorthing(0)
p25.SetSpheroid(#SPHEROID_KRASOVSKY)

p26 = TransverseMercator.Make(r)
p26.SetDescription("GK Zone 30")
p26.SetCentralMeridian(177)
p26.SetReferenceLatitude(0)
p26.SetScale(1)
p26.SetFalseEasting(30500000)
p26.SetFalseNorthing(0)
p26.SetSpheroid(#SPHEROID_KRASOVSKY)

r = Rect.Make(103@"-56".AsNumber,164@"-7".AsNumber)
p27 = TransverseMercator.Make(r)
p27.SetDescription("GK Zone 31")
p27.SetCentralMeridian(-177)
p27.SetReferenceLatitude(0)
p27.SetScale(1)
p27.SetFalseEasting(31500000)
p27.SetFalseNorthing(0)
p27.SetSpheroid(#SPHEROID_KRASOVSKY)

p28 = TransverseMercator.Make(r)
p28.SetDescription("GK Zone 32")
p28.SetCentralMeridian(-171)
p28.SetReferenceLatitude(0)
p28.SetScale(1)
p28.SetFalseEasting(32500000)
p28.SetFalseNorthing(0)
p28.SetSpheroid(#SPHEROID_KRASOVSKY)

projections.Add(p30)
projections.Add(p29)
projections.Add(p1)
projections.Add(p2)
projections.Add(p3)
projections.Add(p4)
projections.Add(p5)
projections.Add(p6)
projections.Add(p7)
projections.Add(p8)
projections.Add(p9)
projections.Add(p10)
projections.Add(p11)
projections.Add(p12)
projections.Add(p13)
projections.Add(p14)
projections.Add(p15)
projections.Add(p16)
projections.Add(p17)
projections.Add(p18)
projections.Add(p19)
projections.Add(p20)
projections.Add(p21)
projections.Add(p22)
projections.Add(p23)
projections.Add(p24)
projections.Add(p25)
projections.Add(p26)
projections.Add(p27)
projections.Add(p28)

' Create a default.prj file and add the CoordSys object
defprj = ODB.Make("$HOME/default.prj".AsFilename)
defprj.Add(c)
defprj.Add(c2)
defprj.Commit


