Hi Michael,

Look at the attached file. In ArcGis 10.3.1 you have to select a geographic 
transformation before you start a transformation between two datums.

It seems that the transformation in CTS does not need such a information?

And if i want to transform from MGI (Austria) to 
D_Deutsches_Hauptdreiecksnetz(Germany)? Does this run automatically too?

Transformation from MGI to WGS 84 and after that transformation from WGS84 to 
D_Deutsches_Hauptdreiecksnetz?

Best regards,

Manfred



Hi Manfred,

What do you mean exactly ?

In CTS, one performs transformations between two CRS (Coordinate 
Reference System)

A CRS uses a specific datum, ellipsoid, prime meridian, and in case of a 
projected CRS, projection.
With all these informations, it can compute transformations from/to 
WGS84 (geographic or cartesian).

What do you mean by geographic transformation ? How do you define WGS84 
to MGI(Austria) transformation in other softwares ?

Note that all parameters used by cts are in the epsg file (which is the 
same as the one used by proj4).

Micha?l



Le 29/12/2016 ? 20:03, manf...@egger-gis.at a ?crit :
> Hi,
>
> I will held my presenation about OpenJump and transformation in German, but i 
> plan to write a summary for your WIKI in English. There are some not German 
> speaking people there.
>
> One important question about the Transformation Plugin by 
> https://github.com/orbisgis/cts:
>
> Some days ago i transformed coordinates between two datums (WGS 84 to 
> MGI(Austria)). The transformation was ok. But i was suprised that it is not 
> necessary to select a geographic transformation.
>
> In other software you have to select a geographic transformation to get a 
> correct transformation.
>
> What is the reason?
>
> Best regards
>
> Manfred
>
>
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>




------------------------------

Message: 4
Date: Thu, 29 Dec 2016 21:23:21 +0100
From: Micha?l Michaud <m.michael.mich...@orange.fr>
Subject: Re: [JPP-Devel] SVN: [5296]
        core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/
        ZoomToCoordinatePlugIn.java
To: jump-pilot-devel@lists.sourceforge.net
Message-ID: <d4812395-f389-7c36-89dc-24f4ddfa9...@orange.fr>
Content-Type: text/plain; charset=windows-1252; format=flowed

Ya seems to be fixed ;-)

Micha?l


Le 29/12/2016 ? 21:15, edgar.sol...@web.de a ?crit :
> is r5301 better? ..ede
>
> On 29.12.2016 21:02, Micha?l Michaud wrote:
>> Hi Ede,
>>
>> I don't know what you changed, but the plugin has a strange behaviour.
>>
>> When the dialog is get from the menu, clicking on OK just reset the
>> coordinates without zooming to it.
>>
>> When the dialog is get from the status bar, it works as usually.
>>
>> Micha?l
>>
>>
>> Le 29/12/2016 ? 18:33, jump-pilot-...@lists.sourceforge.net a ?crit :
>>> Revision: 5296
>>>             http://sourceforge.net/p/jump-pilot/code/5296
>>> Author:   edso
>>> Date:     2016-12-29 17:33:41 +0000 (Thu, 29 Dec 2016)
>>> Log Message:
>>> -----------
>>> reformat
>>> removed unneeded undo call
>>>
>>> Modified Paths:
>>> --------------
>>>       
>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>>
>>> Modified: 
>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>> ===================================================================
>>> --- 
>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>>     2016-12-29 17:32:49 UTC (rev 5295)
>>> +++ 
>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/zoom/ZoomToCoordinatePlugIn.java
>>>     2016-12-29 17:33:41 UTC (rev 5296)
>>> @@ -24,96 +24,96 @@
>>>    import com.vividsolutions.jump.workbench.ui.cursortool.Animations;
>>>    
>>>    public class ZoomToCoordinatePlugIn extends AbstractPlugIn {
>>> -   private Coordinate lastCoordinate = new Coordinate(0, 0);
>>> -   public boolean execute(PlugInContext context) throws Exception {
>>> -           reportNothingToUndoYet(context);
>>> -           Coordinate coordinate = prompt(context);
>>> -           if (coordinate == null) {
>>> -                   return false;
>>> -           }
>>> -        lastCoordinate = coordinate;
>>> -           context.getLayerViewPanel().getViewport()
>>> -                           .zoom(toEnvelope(coordinate, 
>>> context.getLayerManager()));
>>> -            
>>> Animations.drawExpandingRing(context.getLayerViewPanel().getViewport()
>>> -                   .toViewPoint(lastCoordinate), false, Color.BLUE,
>>> -                   context.getLayerViewPanel(), new float[] { 20, 20 });
>>> +  private Coordinate lastCoordinate = new Coordinate(0, 0);
>>>    
>>> -           return true;
>>> -   }
>>> +  public boolean execute(PlugInContext context) throws Exception {
>>> +    Coordinate coordinate = prompt(context);
>>> +    if (coordinate == null) {
>>> +      return false;
>>> +    }
>>> +    lastCoordinate = coordinate;
>>> +    context.getLayerViewPanel().getViewport()
>>> +        .zoom(toEnvelope(coordinate, context.getLayerManager()));
>>> +    Animations.drawExpandingRing(context.getLayerViewPanel().getViewport()
>>> +        .toViewPoint(lastCoordinate), false, Color.BLUE,
>>> +        context.getLayerViewPanel(), new float[] { 20, 20 });
>>>    
>>> -   private Coordinate prompt(PlugInContext context) {
>>> -           while (true) {
>>> -                   try {
>>> -                           return 
>>> toCoordinate(JOptionPane.showInputDialog(context
>>> -                                           .getWorkbenchFrame(),
>>> -                                           
>>> I18N.get("ui.zoom.ZoomToCoordinatePlugIn.enter-coordinate-to-zoom-to"), 
>>> lastCoordinate.x + ", "
>>> -                                                           + 
>>> lastCoordinate.y));
>>> -                   } catch (Exception e) {
>>> -                           
>>> JOptionPane.showMessageDialog(context.getWorkbenchFrame(), e
>>> -                                           .getMessage(),
>>> -                                           
>>> context.getWorkbenchFrame().getTitle(),
>>> -                                           JOptionPane.ERROR_MESSAGE);
>>> -                   }
>>> -           }
>>> +    return true;
>>> +  }
>>>    
>>> -   }
>>> +  private Coordinate prompt(PlugInContext context) {
>>> +    while (true) {
>>> +      try {
>>> +        return toCoordinate(JOptionPane.showInputDialog(context
>>> +            .getWorkbenchFrame(), I18N
>>> +            
>>> .get("ui.zoom.ZoomToCoordinatePlugIn.enter-coordinate-to-zoom-to"),
>>> +            lastCoordinate.x + ", " + lastCoordinate.y));
>>> +      } catch (Exception e) {
>>> +        JOptionPane.showMessageDialog(context.getWorkbenchFrame(),
>>> +            e.getMessage(), context.getWorkbenchFrame().getTitle(),
>>> +            JOptionPane.ERROR_MESSAGE);
>>> +      }
>>> +    }
>>>    
>>> -   private Envelope toEnvelope(Coordinate coordinate, LayerManager 
>>> layerManager) {
>>> -           int segments = 0;
>>> -           int segmentSum = 0;
>>> -           outer : for (Iterator i = layerManager.iterator(); i.hasNext(); 
>>> ) {
>>> -                   Layer layer = (Layer) i.next();
>>> -                   for (Iterator j = 
>>> layer.getFeatureCollectionWrapper().iterator(); j
>>> -                                   .hasNext(); ) {
>>> -                           Feature feature = (Feature) j.next();
>>> -                Collection coordinateArrays = 
>>> CoordinateArrays.toCoordinateArrays(feature.getGeometry(), false);
>>> -                for (Iterator k = coordinateArrays.iterator(); 
>>> k.hasNext(); ) {
>>> -                   Coordinate[] coordinates = (Coordinate[]) k.next();
>>> -                    for (int a = 1; a < coordinates.length; a++) {
>>> -                        segments++;
>>> -                           segmentSum += 
>>> coordinates[a].distance(coordinates[a-1]);
>>> -                        if (segments > 100) { break outer; }
>>> -                    }
>>> -                }
>>> -                   }
>>> -           }
>>> -           Envelope envelope = new Envelope(coordinate);
>>> -        //Choose a reasonable magnification [Jon Aquino 10/22/2003]
>>> -           if (segmentSum > 0) {
>>> -                   envelope = EnvelopeUtil.expand(envelope,
>>> -                                   segmentSum / (double) segments);
>>> -           } else {
>>> -                   envelope = EnvelopeUtil.expand(envelope, 50);
>>> -           }
>>> -           return envelope;
>>> -   }
>>> +  }
>>>    
>>> -   private Coordinate toCoordinate(String s) throws Exception {
>>> -           if (s == null) {
>>> -                   return null;
>>> -           }
>>> -           if (s.trim().length() == 0) {
>>> -                   return null;
>>> -           }
>>> -           s = StringUtil.replaceAll(s, ",", " ");
>>> -           StringTokenizer tokenizer = new StringTokenizer(s);
>>> -           String x = tokenizer.nextToken();
>>> -           if (!StringUtil.isNumber(x)) {
>>> -                   throw new Exception("Not a number: " + x);
>>> -           }
>>> -           String y = tokenizer.nextToken();
>>> -           if (!StringUtil.isNumber(y)) {
>>> -                   throw new Exception("Not a number: " + y);
>>> -           }
>>> -           return new Coordinate(Double.parseDouble(x), 
>>> Double.parseDouble(y));
>>> -   }
>>> +  private Envelope toEnvelope(Coordinate coordinate, LayerManager 
>>> layerManager) {
>>> +    int segments = 0;
>>> +    int segmentSum = 0;
>>> +    outer: for (Iterator i = layerManager.iterator(); i.hasNext();) {
>>> +      Layer layer = (Layer) i.next();
>>> +      for (Iterator j = layer.getFeatureCollectionWrapper().iterator(); j
>>> +          .hasNext();) {
>>> +        Feature feature = (Feature) j.next();
>>> +        Collection coordinateArrays = CoordinateArrays.toCoordinateArrays(
>>> +            feature.getGeometry(), false);
>>> +        for (Iterator k = coordinateArrays.iterator(); k.hasNext();) {
>>> +          Coordinate[] coordinates = (Coordinate[]) k.next();
>>> +          for (int a = 1; a < coordinates.length; a++) {
>>> +            segments++;
>>> +            segmentSum += coordinates[a].distance(coordinates[a - 1]);
>>> +            if (segments > 100) {
>>> +              break outer;
>>> +            }
>>> +          }
>>> +        }
>>> +      }
>>> +    }
>>> +    Envelope envelope = new Envelope(coordinate);
>>> +    // Choose a reasonable magnification [Jon Aquino 10/22/2003]
>>> +    if (segmentSum > 0) {
>>> +      envelope = EnvelopeUtil.expand(envelope, segmentSum / (double) 
>>> segments);
>>> +    } else {
>>> +      envelope = EnvelopeUtil.expand(envelope, 50);
>>> +    }
>>> +    return envelope;
>>> +  }
>>>    
>>> -   public MultiEnableCheck createEnableCheck(
>>> -                   final WorkbenchContext workbenchContext) {
>>> -           EnableCheckFactory checkFactory = new EnableCheckFactory(
>>> -                           workbenchContext);
>>> +  private Coordinate toCoordinate(String s) throws Exception {
>>> +    if (s == null) {
>>> +      return null;
>>> +    }
>>> +    if (s.trim().length() == 0) {
>>> +      return null;
>>> +    }
>>> +    s = StringUtil.replaceAll(s, ",", " ");
>>> +    StringTokenizer tokenizer = new StringTokenizer(s);
>>> +    String x = tokenizer.nextToken();
>>> +    if (!StringUtil.isNumber(x)) {
>>> +      throw new Exception("Not a number: " + x);
>>> +    }
>>> +    String y = tokenizer.nextToken();
>>> +    if (!StringUtil.isNumber(y)) {
>>> +      throw new Exception("Not a number: " + y);
>>> +    }
>>> +    return new Coordinate(Double.parseDouble(x), Double.parseDouble(y));
>>> +  }
>>>    
>>> -           return new MultiEnableCheck().add(checkFactory
>>> -                           
>>> .createWindowWithLayerViewPanelMustBeActiveCheck());
>>> -   }
>>> +  public MultiEnableCheck createEnableCheck(
>>> +      final WorkbenchContext workbenchContext) {
>>> +    EnableCheckFactory checkFactory = new 
>>> EnableCheckFactory(workbenchContext);
>>> +
>>> +    return new MultiEnableCheck().add(checkFactory
>>> +        .createWindowWithLayerViewPanelMustBeActiveCheck());
>>> +  }
>>>    }
>>> \ No newline at end of file
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Jump-pilot-devel mailing list
>> Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>




------------------------------

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot

------------------------------

_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


End of Jump-pilot-devel Digest, Vol 126, Issue 38
*************************************************
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to