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