S Sonic_Ben Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-08 #1 我已经是第三次问这个问题了,可是老得不到准确得回答:( 我想在MO中改变地图的投影,比如说莫卡托,高斯-克力格等等,但不知道怎么办,哪位 大侠能帮帮小弟!!
浪 浪子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-15 #5 如果你用的是mo2,可以翻译一个它的帮助中的PROJECTS类的描述。 我觉的它是关于坐标的。(我的E文不好);
浪 浪子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-19 #8 有误.应该是PROJECTION对象集. 而且在DELPHI的头文件MAPOBJECTS2_TLB中有关于 坐标系的CONST
黑 黑天鹅 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-30 #10 {假设: (1).输入图层为经纬度坐标; (2).变换为Lambert Conformal Conic投影,参数: 中央子午线:110度 参考纬度: 10度 Standard Parallel1: 25度; Standard Parallel2: 47度; FalseEasting: 0; FalseNorthing: 0; 单位为: 米; } procedure TFormAEPBrowser.SetCurrentProjection; var ToPCS : IMoProjCoordSys; ToGCS : IMoGeoCoordSys; ToDims : IMOUnit; ToProjection : IMoProjection; FromGCS : IMoGeoCoordSys; aMapLayer : IMoMapLayer; i,n : Integer; begin // //创建各对象 // ToPCS := IMoProjCoordSys(CreateOleObject('MapObjects2.ProjCoordSys')); ToProjection := IMoProjection(CreateOleObject('MapObjects2.Projection')); ToDims := IMoUnit(CreateOleObject('MapObjects2.Unit')); ToGCS := IMoGeoCoordSys(CreateOleObject('MapObjects2.GeoCoordSys')); // //设置投影系统参数 // ToProjection.Type_:= moProjection_LambertConformalConic; ToGCS.Type_ := moGeoCS_WGS1984; ToDims.Type_ := moUnit_Meter; // //设置投影参数 // ToPCS.SetParameter(moParm_CentralMeridian,110); ToPCS.SetParameter(moParm_OriginLatitude,10); ToPCS.Setparameter(moParm_StandardParallel1,25); ToPCS.Setparameter(moParm_StandardParallel2,47); ToPCS.SetParameter(moParm_FalseEasting,0); ToPCS.SetParameter(moParm_FalseNorthing,0); ToPCS.SetParameter(moParm_ScaleFactor,1.0); ToPCS.Projection := FromProjection; ToPCS.GeoCoordSys := FromGCS; ToPCS.Unit_:= FromDims; // //如果改为: // ToPCS.Projection.Type_ := moProjection_LambertConformalConic; //变换时将出错!瞎转 // // //设置当前坐标系参数 // FromGCS := IMoGeoCoordSys(CreateOleObject('MapObjects2.GeoCoordSys')); FromGCS.Type_ := moGeoCS_WGS1984; // //设置各图层当前坐标系 // n := Map1.Layers.Count; for i:=0 to (n-1)do begin aMapLayer := IMOMaplayer(Map1._Layers.Item(i)); aMapLayer.CoordinateSystem := FromGCS; end; // //设置所需投影 // Map1.CoordinateSystem := ToPCS; //自动刷新 end;
{假设: (1).输入图层为经纬度坐标; (2).变换为Lambert Conformal Conic投影,参数: 中央子午线:110度 参考纬度: 10度 Standard Parallel1: 25度; Standard Parallel2: 47度; FalseEasting: 0; FalseNorthing: 0; 单位为: 米; } procedure TFormAEPBrowser.SetCurrentProjection; var ToPCS : IMoProjCoordSys; ToGCS : IMoGeoCoordSys; ToDims : IMOUnit; ToProjection : IMoProjection; FromGCS : IMoGeoCoordSys; aMapLayer : IMoMapLayer; i,n : Integer; begin // //创建各对象 // ToPCS := IMoProjCoordSys(CreateOleObject('MapObjects2.ProjCoordSys')); ToProjection := IMoProjection(CreateOleObject('MapObjects2.Projection')); ToDims := IMoUnit(CreateOleObject('MapObjects2.Unit')); ToGCS := IMoGeoCoordSys(CreateOleObject('MapObjects2.GeoCoordSys')); // //设置投影系统参数 // ToProjection.Type_:= moProjection_LambertConformalConic; ToGCS.Type_ := moGeoCS_WGS1984; ToDims.Type_ := moUnit_Meter; // //设置投影参数 // ToPCS.SetParameter(moParm_CentralMeridian,110); ToPCS.SetParameter(moParm_OriginLatitude,10); ToPCS.Setparameter(moParm_StandardParallel1,25); ToPCS.Setparameter(moParm_StandardParallel2,47); ToPCS.SetParameter(moParm_FalseEasting,0); ToPCS.SetParameter(moParm_FalseNorthing,0); ToPCS.SetParameter(moParm_ScaleFactor,1.0); ToPCS.Projection := FromProjection; ToPCS.GeoCoordSys := FromGCS; ToPCS.Unit_:= FromDims; // //如果改为: // ToPCS.Projection.Type_ := moProjection_LambertConformalConic; //变换时将出错!瞎转 // // //设置当前坐标系参数 // FromGCS := IMoGeoCoordSys(CreateOleObject('MapObjects2.GeoCoordSys')); FromGCS.Type_ := moGeoCS_WGS1984; // //设置各图层当前坐标系 // n := Map1.Layers.Count; for i:=0 to (n-1)do begin aMapLayer := IMOMaplayer(Map1._Layers.Item(i)); aMapLayer.CoordinateSystem := FromGCS; end; // //设置所需投影 // Map1.CoordinateSystem := ToPCS; //自动刷新 end;
S Sonic_Ben Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #11 to 黑天鹅 ToPCS.Projection := FromProjection; ToPCS.GeoCoordSys := FromGCS; ToPCS.Unit_:= FromDims; FromProjection,FromDims没有设置啊? 这三句是什么意思啊? 能给我一个DEMO吗? sonicben@sina.com
to 黑天鹅 ToPCS.Projection := FromProjection; ToPCS.GeoCoordSys := FromGCS; ToPCS.Unit_:= FromDims; FromProjection,FromDims没有设置啊? 这三句是什么意思啊? 能给我一个DEMO吗? sonicben@sina.com
黑 黑天鹅 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #12 呵呵,手误。should be ToPCS.Projection := ToProjection; ToPCS.GeoCoordSys := ToGCS; ToPCS.Unit_:= ToDims; Demo project 发到哪?
呵呵,手误。should be ToPCS.Projection := ToProjection; ToPCS.GeoCoordSys := ToGCS; ToPCS.Unit_:= ToDims; Demo project 发到哪?
黑 黑天鹅 Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #13 呵呵,100分不多! 我还有许多好东西! 你可以再出几道题, 比如怎么读入 ArcExplorer Project file.(*.aep), Delphi 可以用的Legend等。不过分得多点,那东东是个大家伙。我作了一组VCL, Legend支持点、线、面的 SingleSymbol Renderer,ValueMap Renderer,ClassBreaks Renderer, LabelRenderer,在Classbreaks和ValueMap Renderer中还加入Custom Palettes选项... 我给这组VCL取名为: MapObjects2.0 assistant Suite(MO2AS) 给你发去的Projection Demo中已经有TMo2ASAEPFile.
呵呵,100分不多! 我还有许多好东西! 你可以再出几道题, 比如怎么读入 ArcExplorer Project file.(*.aep), Delphi 可以用的Legend等。不过分得多点,那东东是个大家伙。我作了一组VCL, Legend支持点、线、面的 SingleSymbol Renderer,ValueMap Renderer,ClassBreaks Renderer, LabelRenderer,在Classbreaks和ValueMap Renderer中还加入Custom Palettes选项... 我给这组VCL取名为: MapObjects2.0 assistant Suite(MO2AS) 给你发去的Projection Demo中已经有TMo2ASAEPFile.
T tanyg Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #14 我也要: tanyonggui@263.net 谢谢 另:大侠能不能帮我看看我的问题:如何自定义填充区域?
L lanny Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #15 To 吕雪松: 是否能共享您的 MO 2.1 ? lanny@jxeinet.com
S Sonic_Ben Unregistered / Unconfirmed GUEST, unregistred user! 2001-05-31 #16 to 黑天鹅: 分不是问题,我会专门给你开个问题让你拿分的。再加300分怎么样? ^_^,有点像黑社会讨价还价了。