I understand. I don't do any work today. And wait for your commits
Peppe

2016-09-03 12:01 GMT+02:00 Michaël Michaud <m.michael.mich...@orange.fr>:

> Hi Peppe,
>
> If you're not changing ProjUtils class today, I'll make some refactoring.
> Would be nice if you can double check after my commit.
>
> About test on srid integer, there is not much of a problem. Just a small
> inconsistency betwwen comment and code on CUSTOM authority
>
> Comment :
> CUSTOM : [200000..209199]
>
> Code :
> EPSG : ]-∞..32768[ or ]5999999..2147483647]
> ESRI : ]32999..200000[
> CUSTOM : [32768..32999] or [200000..5999999]
>
> Michaël
>
> Le 02/09/2016 à 16:00, Giuseppe Aruta a écrit :
>
> Hi Michaël,
> thanks for the suggestions.
>
> >srid.txt encoding
> I upgraded SVN repository with a UTF-8 version.
>
> >I noticed that tests done on the srid integer value are not consistent
> between the comments and the code.
> Sorry. I am still  not familiar with some developing terminology (and the
> usage of Java).
> Does it means I should remove those comments from that position?
>
> >ProjUtils is a very big class and contains redundant code
> Yes. During the long syage of thge class I added many extra code. Right
> now I realized that readSRSFromAuxiliaryFile_1 method was not used (and I
> removed from repository). I will use your suggestions and make it simpler
> and smaller, following OJ philosophy.
>
> Thanks again
>
> Peppe
>
> 2016-09-02 0:05 GMT+02:00 Michaël Michaud <m.michael.mich...@orange.fr>:
>
>> Hi Peppe,
>>
>> Thanks for the work. Here are some suggestions.
>>
>> I noticed that tests done on the srid integer value are not consistent
>> between the comments (and the referenced site
>> http://help.arcgis.com/en/arcgisserver/10.0/apis/soap/whnjs.
>> htm#SOAP_Geometry_FindSRByWKID.htm) and the code.
>>
>> Also I think there is a problem with srid.txt encoding (with the addition
>> of IGNF registry which includes non ASCII characters). I suggest that we
>> code the file  in UTF-8 (it is currently recognized as ISO 8859-1 by my
>> IDE) and read it as UTF-8 so that it behaves similarly on windows or linux
>> (using *InputStreamReader
>> <http://docs.oracle.com/javase/8/docs/api/java/io/InputStreamReader.html#InputStreamReader-java.io.InputStream-java.lang.String->*
>> *(**InputStream
>> <http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html>*
>> * in, **String
>> <http://docs.oracle.com/javase/8/docs/api/java/lang/String.html>*
>> * charset*Name))
>>
>> ProjUtils is a very big class and contains redundant code. Maybe a few
>> helper methods would help
>> - getSRSDef(int srid) // to get SRSDef from SRID (computed 3 times in the
>> file)
>> - normalizeSRSName(String srs) // to normalize SRSName writing
>> (whitespaces, separators...)
>> - getSRSDef(String prjName) // read from srid.txt
>> ...
>>
>> In readSRSFromAuxiliaryFile_1 and readSRSFromAuxiliaryFile methods, tests
>> could be organized this way
>>
>> projectSourceFilePrj
>> projectSourceRFilePrj // not used in readSRSFromAuxiliaryFile_1
>> projectSourceRFileAux
>>
>> // List<String> fileList : useless !
>>
>> if (projectSourceFilePrj.exists()) {/**/}
>> else if (projectSourceRFilePrj .exists()) {/**/}
>> else if (projectSourceRFileAux.exists()) {/**/}
>> else
>>
>> // if (!prjname.isEmpty()) {/* */} : no more needed if you wrote a
>> getSRSDef(String prjName) method
>>
>> Michaël
>>
>> Le 01/09/2016 à 07:23, Giuseppe Aruta a écrit :
>>
>> Hi all,
>> sorry for the long time I took to answer.
>> I understood the difficulties. My idea was limited to work on the
>> measurement part of Coordinate systems (something that I started to do on
>> my Measurement plugin). The reprojection part was put aside.
>> After reading the opinions of all, I decided to abandon the idea to a add
>> projection ID to the Task and to limit the work in small steps only at
>> layer level, without core modifications.
>> I added to projection detection of layers (LayerProperty and
>> RasterLayerProperty plugins) the capability to show the relative  measure
>> unit.
>> It was easy as it required only some extra info on the SRID registry file
>> (org.openjump.core.ccordsys.utils.srid.txt)
>> In the future I will work on modified (measurement, zoom, scale) plugin
>> that detect that measure unit , Measure Plugin will remain the main place
>> for this work.
>> Best regards
>> Peppe
>>
>> @Michael I added on SRID registry file also IGNF and IGN Gèoportail
>> codes, trying to set the most possible common "synonimous". But I didn't
>> test it as I didn't find datas on that Authority. Could you give a quick
>> look, please. I took the informaion ffor IGN Gèoportail form this page (
>> http://www.wms.lautre.net/projgp.html - 2011)
>>
>> 2016-08-04 23:32 GMT+02:00 Michaël Michaud <m.michael.mich...@orange.fr>:
>>
>>> Hi Peppe,
>>>
>>> Your explanation is clear.
>>>
>>> I tend to be on the same opinion as Jukka on this topic because I
>>> generally use OpenJUMP as a toolbox, and I generally know exactly what I
>>> want to do with my data.
>>>
>>> But I admit that to visualize heterogeneous data, OpenJUMP has not much
>>> to offer to the user to solve projection problems, and the beginner can
>>> be bothered by the lack of assistance.
>>>
>>> Here are a few recommandation :
>>>
>>> 1 - Projection issues may be tricky. It is magic as long as the only
>>> need is visualization, but if the user need to reproject his dataset, he
>>> must be aware of the consequences (reversibility, topology
>>> consistency...). Last time I have been screwed by a projection problem
>>> is with FME. I imported shapefiles with a prj in a project using the
>>> "same" projection. It was supposed to be a no-op (doing nothing), except
>>> that FME did a transformation from projection A (defined by prj
>>> parameters) to projection A (defined by internal FME parameters), which
>>> resulted in an invisible switch of  a few micrometers difficult to see,
>>> but which broke the consistency with another layer (which did not follow
>>> the same process). Of course this can be avoided in FME, but this is
>>> just an example to illustrate that without a great care, something
>>> supposed to be magic may become dramatic.
>>>
>>> 2 - From my point of view, one of the most difficult problem is to be
>>> able to recognize that two coordinate reference system with different
>>> origins (different registries, different formats, different libraries,
>>> different definitions) represent the same thing (see the above problem
>>> with FME). I think you already worked on that problem.
>>>
>>> 3 - Your mail explains quite clearly what already exists and where you
>>> want to go. I think that to anticipate difficulties, we can suppose that
>>> a SRID is associated to the task and try to define OpenJUMP behaviour in
>>> different situations :
>>> - default behaviour when creating a new task : asking for a srid or not
>>> ? it is a good thing if OJ can infer information from prj files or other
>>> sources, but I don't like having to answer esoteric questions before I
>>> can start working.
>>> - task without srid : does it take the srid of the first layer imported
>>> ? What if layers without srid are already imported ?
>>> - can we change the srid of a task if layers with srid are already
>>> imported ?
>>> - importing a layer with a different srid : 1) the layer is just tagged
>>> (layer srid mismatch task srid), 2) the layer is automatically
>>> reprojected by the renderer ? 3) the user is invited to reproject the
>>> layer ? 4) There are some options to define OpenJUMP behaviour
>>> - how to deal with layers without projection : can we import them in a
>>> task with a srid ? can we edit them ? Do we set the task projection to
>>> the layer projection automatically ?
>>> - if a reprojected layer is not editable, an interesting option would be
>>> to set the task srid to the selected layer srid (-> makes the selected
>>> layer editable, and reproject other layers)
>>> - etc.
>>>
>>> 4- Implementation : no real opinion. Ede's advice will certainly make
>>> the code more flexible, but also a bit more complex. And how to
>>> represent the coordinate system property ? Another difficult question.
>>> We already have SRID represented by an int at the geometry level (JTS)
>>> and a CoordinateSystem at the FeatureSchema level. IMHO, the first is a
>>> bit too lightweight (cannot handle non EPSG crs). The second is too
>>> lightweight if we want to use it to effectively transform coordinates
>>> (cannot handle much transformations) and too heavyweight if we just use
>>> it as a reference to be used by CTS library (or any other).
>>>
>>>
>>> My 3 cents
>>>
>>> Michael
>>>
>>>
>>>
>>> Le 03/08/2016 à 15:13, Gmail a écrit :
>>> > LoopThis thread needs a larger explanation.
>>> > I try to simplify it.
>>> > other GIS like Kosmo or GVSig implemented Coordinate system framework
>>> > following these steps:
>>> > a) first step they add a projection object to the task (usually as
>>> EPSG or
>>> > ESRI code). In Kosmo user has to set that. QGIS also allows to set Task
>>> > projection loading that from the first loadedf file (with SRID).
>>> > b) QGIS define the Unit of the task from SRID ( ex. 4326>degree,
>>> > 32632>metre) while GvSig And Kosmo require to set it manually.
>>> > c) a projection object is set to each loaded layer. This is done
>>> reading
>>> > layer metadata or manually
>>> > d) if the task and the layer projection object are different a
>>> > transformation should be set. Those software use ( for vector) proj4
>>> > libraries. In this step Qgis and newer gvsig allows on fly
>>> reprojection.
>>> > e) this transformation is taken into account only by layer renderes on
>>> the
>>> > workbench. Which changes geometry before drawing it.
>>> > This transformation is saved into project file and taken into account
>>> > whenever the project file is loaded.
>>> > f) Note that Kosmo (and probably Gvsig) doesn't allow any spatial
>>> operation
>>> > on reprojected layers. The only way to modify them is to save them
>>> reprojected.
>>> >
>>> > Recently I did few modifications on shape file reading in order to
>>> expand
>>> > capability to set layer SRId  when reading file. Layer properties
>>> plugins
>>> > already have this capability for both raster and vector ( included
>>> > geotif*). Together with database and wfs capability to record layer
>>> srid we
>>> > probably get almost point C of my list.
>>> >
>>> > My idea is to work on point A and B, integrating parts if my measure
>>> plugin
>>> > in to OJ core in order to have measurements\zoom when task projection
>>> is
>>> > geographic or possibility that oj display meter or feet unit on
>>> > measurements \ scale bar.
>>> > The other points can be faced in the future, including in fly
>>> reprojection.
>>> >
>>> > My project:
>>> > 1) Oj already as a srid registry embedded that I added when I defined
>>> srid
>>> > detection capability from auxiliary files. It is a simple list of
>>> > projection, a series of lines with only srid number and a proj.
>>> description
>>> > ( ex <32632>;<WGS 84 UTM zone 32>), build using proj4 registries and
>>> excel.
>>> > I could expand each line with unit ( ex <32632>;<WGS 84 UTM zone
>>> 32>;<metre>)
>>> > 2) expand Task class with srid code and unit. User can define manually
>>> .
>>> > 3) modify measure /zoom plugins according units, meter, foot, degree (
>>> in
>>> > this last case I would limit only to wgs84 ) using classes fro my
>>> measure
>>> > plugin.
>>> >
>>> > Peppe
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > *
>>> >
>>> >
>>> >
>>> > Inviato con AquaMail per Android
>>> > http://www.aqua-mail.com
>>> >
>>> >
>>> > Il 03 agosto 2016 12:32:48 edgar.sol...@web.de ha scritto:
>>> >
>>> >> hey Peppe,
>>> >>
>>> >> On 03.08.2016 11 <03.08.2016%2011>:11, Giuseppe Aruta wrote:
>>> >>> Hi all,
>>> >>> The title explains what is my idea. In a possible future we can
>>> extend OJ
>>> >>> projection capabilities.  And the 1st step I would explore is to add
>>> SRID
>>> >>> code to a task (to centralize possible transformations)
>>> >> can you elaborate?
>>> >>
>>> >>> and unit of measurements (retriving from SRID, which will affect
>>> other
>>> >>> plugins/tools like measure tools, measure area/length, display
>>> scales etc,
>>> >>> especially for Geographic coordinate systems).
>>> >> same here.
>>> >>
>>> >>> I gave a look at Task class , should I implement (srid and unit) as
>>> >>> properties into the associate xml file? Does it breaks compatibility?
>>> >> ..ede
>>> >>
>>> >> ------------------------------------------------------------
>>> ------------------
>>> >> _______________________________________________
>>> >> Jump-pilot-devel mailing list
>>> >> Jump-pilot-devel@lists.sourceforge.net
>>> >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>> >
>>> >
>>> > ------------------------------------------------------------
>>> ------------------
>>> > _______________________________________________
>>> > Jump-pilot-devel mailing list
>>> > Jump-pilot-devel@lists.sourceforge.net
>>> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>> >
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> _______________________________________________
>>> Jump-pilot-devel mailing list
>>> Jump-pilot-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Jump-pilot-devel mailing 
>> listJump-pilot-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________ Jump-pilot-devel mailing
>> list Jump-pilot-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Jump-pilot-devel mailing 
> listJump-pilot-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
> ------------------------------------------------------------
> ------------------
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to