You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@streampipes.apache.org by Florian Micklich <fl...@mailbox.org.INVALID> on 2022/09/18 10:44:04 UTC

[DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Hi everybody,

I created a Ticket [1] to implement projection handling for geo
operations.

User case.:

Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).
With meter you can do calculations , which needs a metric Unit system
e.g. area calculation, everything with distance and so on.

I also added a short wortkflow picture for better understanding and a
docker-compose file for SP Service.

While I am working on the processor itself, I have a couple of
questions and would need support for implementing everything in the the
SP UI and discuss best ways how to set up!

Any ideas or questions?

Greetings
Florian

[1] https://issues.apache.org/jira/browse/STREAMPIPES-584

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <mi...@apache.org>.
Hi Dominik,

I agree. The SIS/empty database approach is pushed and I removed the commend for fallback option.

Florian


Am Mittwoch, dem 23.11.2022 um 06:49 +0000 schrieb Dominik Riemer:
> Hi Florian,<br>
> thanks for asking!<br>
> Then I propose to stick with the Apache SIS/empty database approach and to not include any ProJ4j dependencies in our source.<br>
> 
> Cheers<br>
> Dominik <br>
> 
> 
> -----Original Message-----<br>
> From: Florian Micklich <[micklich@apache.org](mailto:micklich@apache.org)> <br>
> Sent: Tuesday, November 22, 2022 10:56 PM<br>
> To: [dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)<br>
> Subject: Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources<br>
> 
> Hi Dominik,<br>
> 
> Am Dienstag, dem 22.11.2022 um 15:12 +0000 schrieb Dominik Riemer:<br>
> > Hi Florian,<br><br>
> > 
> > just to make sure I understand correctly:<br><br>
> > 
> > * There is an "SIS approach" which doesn't have any licensing issues <br>
> > as users would need to fill their own database and only Apache SIS <br>
> > dependencies are used in this approach<br><br>
> 
> 
> Yes that is correct.<br>
> 
> 
> > * There could be a fallback option which wouldn't require users to <br>
> > have their own database, but that would require pulling in Proj4j, <br>
> > which itself relies on EPSG datasets.<br><br>
> 
> Yes, that was my idea. Also to use only some basic coordinates reference systems.<br>
> But I had the same question like you in mind so I wrote Martin (maintainer of SIS) exactly this kind of questions.<br>
> The answer is really worth reading!  I am really surprised and amazed, because most Geo Open Source programs are based on proj4.<br>
> 
> 
> > Hello Florian<br>
> > 
> > Le 22/11/2022 à 18:44, Florian Micklich a écrit :<br>
> > > 
> > > I didn't know that proj4j itself uses EPSG data.<br>
> > > 
> > The CSV files in [1] are derived from EPSG tables. The file structures <br>
> > are different than EPSG database schema, but the data that they contain <br>
> > are EPSG data. The same information is also provided in WKT format in <br>
> > [2] (this file somewhat duplicates the CSV tables). Some peoples on <br>
> > PROJ mailing list have argued that rewriting EPSG data in a different <br>
> > format free them from EPSG licensing terms, but this is not true. <br>
> > Translating a software in a different language is a derivative work and <br>
> > is still subject to the licensing terms of the copyright owner. In the <br>
> > same way that translating a book does not suppress the rights of the <br>
> > original author on the translated book. In the case of EPSG data, IOGP <br>
> > allows us to reformat the data in a different way, but under some <br>
> > conditions specified in their Terms of Use. And doing so does not give <br>
> > us the right to erase the EPSG terms of use from the derivative work.<br>
> > 
> > The value of EPSG geodetic dataset is not in the database schema <br>
> > (converting that to a different data structure is the easy part), but <br>
> > in the data themselves. Creating a new "EPSG-like" dataset from scratch <br>
> > would be a huge effort, well beyond our capability. We would have to <br>
> > visit all national mapping agencies in the world, ask them to provide <br>
> > documentation about the Coordinate Reference System they have defined <br>
> > (including historical ones), consolidate all those information in some <br>
> > tables, etc. So the CSV files [1] in PROJ4 contain an enormous amount <br>
> > of EPSG work, even if the data structures are different.<br>
> > 
> > [1][https://github.com/locationtech/proj4j/tree/master/src/main/resource](https://github.com/locationtech/proj4j/tree/master/src/main/resource)<br>
> > s/proj4 <br>
> > [2][https://raw.githubusercontent.com/locationtech/proj4j/master/src/mai](https://raw.githubusercontent.com/locationtech/proj4j/master/src/mai)<br>
> > n/resources/proj4/wkt/epsg.properties<br>
> > 
> > > 
> > > Until now I thought it would be a good alternative lib besides EPSG <br>
> > > approach.<br>
> > > 
> > When creating a Coordinate Reference System (CRS) from an EPSG code <br>
> > such as "EPSG:4326", we are using the EPSG geodetic dataset. I think <br>
> > that if a software contains e.g. 10 EPSG codes (compared to the ~6000 <br>
> > definitions in the full dataset), it could be considered Fair Use. But <br>
> > including the full dataset requires that we comply with EPSG Terms Of Use.<br>
> > 
> > However if CRS are created from user-supplied WKT strings (or PROJ4 <br>
> > parameter strings), then no EPSG code is involved. The WKT definition <br>
> > string may contain an AUTHORITY["EPSG", 4326] element, but it only <br>
> > means "see EPSG:4326 for more complete information".<br>
> > 
> > > 
> > > So what would be your advise with proj4(j) and how to handle that <br>
> > > kind of implementation in an Apache project?<br>
> > > 
> > EPSG geodetic dataset is not needed when the CRS is built from WKT, GML <br>
> > or some file formats like NetCDF and some (not all) GeoTIFF files. So <br>
> > the approach taken in Apache SIS applications (JavaFX and console<br>
> > application) is to start without EPSG data. Then the first time that an <br>
> > EPSG code is really needed, the application popups a dialog box (in<br>
> > JavaFX) or an interactive prompt (in console application) asking users <br>
> > if they want to download the EPSG geodetic dataset. If users click <br>
> > "yes", the EPSG Terms of Use is shown and the application asks users if <br>
> > they accept. If they confirm, then the EPSG geodetic dataset is <br>
> > downloaded and a database is created locally.<br>
> > 
> > Note that above procedure is needed only for software downloaded <br>
> > directly from Apache servers. Anyone can bundle an application outside <br>
> > Apache which contains the Apache software + EPSG data. The only <br>
> > condition for being allowed to do that is to include the EPSG Terms of <br>
> > Use (in addition of Apache license) in the application bundle.<br>
> > 
> > > 
> > > Officially it is running on MIT license.<br>
> > > 
> > Yes, this issue has been raised on their mailing list. PROJ maintainers <br>
> > have choose to ignore. Some of them pretended that EPSG Terms of Use do <br>
> > not apply to them anymore because they converted the PostgreSQL scripts <br>
> > to SQLite scripts. I'm not a lawyer, but I think that this argument has <br>
> > zero chance to hold in court. For now they rely on the fact that IOGP <br>
> > (the owner of EPSG database) does not want to upset the geodetic community.<br>
> > 
> >     Martin<br>
> 
> Exploding Head Smiley :-D<br>
> 
> Greetings<br>
> Florian<br>
> 
> > 
> > Is this correct?<br><br>
> > 
> > Cheers<br><br>
> > Dominik<br><br>
> > 
> > 
> > -----Original Message-----<br><br>
> > From: Florian Micklich <br>
> > <[[micklich@apache.org](mailto:micklich@apache.org)](mailto:[micklich@apache.org](mailto:micklich@apache.org))> <br><br>
> > Sent: Tuesday, November 22, 2022 2:59 PM<br><br>
> > To: <br>
> > [[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org))<br><br>
> > Subject: Re: [DISCUSS] Setup for Coordinate Reference System <br>
> > Reprojection Sources<br><br>
> > 
> > Hi,<br><br>
> > 
> > I found an interesting post regarding proj4j.<br> That's why I prefer <br>
> > the SIS approach with external database.<br> What do you think about <br>
> > the mentioned "copyright infringement" opinion?<br><br>
> > 
> > PROJ claims to be under MIT license, but in my understanding this is <br>
> > copyright infringement. PROJ license should be MIT + EPSG terms of <br>
> > use.<br><br>
> > 
> > The whole post is:<br><br>
> > > 
> > > Proj4J (and its parent PROJ project) includes EPSG data, so the use <br>
> > > of <br> Proj4J dependency implies accepting EPSG terms of use [1]. <br>
> > > PROJ claims <br> to be under MIT license, but in my understanding <br>
> > > this is copyright <br> infringement. PROJ license should be MIT + <br>
> > > EPSG terms of use.<br><br>
> > > 
> > > EPSG terms of use is a Category X license for Apache. The use of <br>
> > > EPSG <br> data has been discussed in Apache Legal [2][3]. The <br>
> > > conclusion was <br> that an Apache project can include EPSG data if <br>
> > > they are optional <br> (i.e. the application can still do useful <br>
> > > work without them), the main <br> release does not contain them, and <br>
> > > the data are available in a <br> separated download prominently <br>
> > > labelled as under a more restrictive <br> license than Apache.<br><br>
> > > 
> > > [1][[https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-us](https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-us)<br>
> > > e.html)<br><br>
> > > 
> > > [2][[https://issues.apache.org/jira/browse/LEGAL-183](https://issues](https://issues.apache.org/jira/browse/LEGAL-183](https://issues).<br>
> > > apache.org/jira/browse/LEGAL-183)<br><br>
> > > 
> > > [3][[https://issues.apache.org/jira/browse/LEGAL-347](https://issues](https://issues.apache.org/jira/browse/LEGAL-347](https://issues).<br>
> > > apache.org/jira/browse/LEGAL-347)<br><br>
> > > 
> > 
> > 
> > 
> > 
> > Am Freitag, dem 18.11.2022 um 22:27 +0100 schrieb Florian <br>
> > Micklich:<br><br>> 
> > > Hi,<br><br><br>
> > > 
> > > the basic sis implementation is done :)<br> I created a pull request <br>
> > > <br> [1] and happy about any feedback.<br><br><br>
> > > 
> > > 
> > > Form the fallback options I created this ticket [2]<br><br><br>
> > > 
> > > Florian<br><br><br>
> > > 
> > > [1] <br><br>
> > > [[[https://github.com/apache/streampipes/pull/146](https://github.com](https://github.com/apache/streampipes/pull/146](https://github.com)<br>
> > > /ap]([https://github.com/apache/streampipes/pull/146](https://github](https://github.com/apache/streampipes/pull/146](https://github).<br>
> > > com/ap)<br> ache/streampipes/pull/146)<br> [2]  <br> <br>
> > > [[[https://issues.apache.org/jira/browse/STREAMPIPES-638](https://iss](https://issues.apache.org/jira/browse/STREAMPIPES-638](https://iss)<br>
> > > ues]([https://issues.apache.org/jira/browse/STREAMPIPES-638](https://](https://issues.apache.org/jira/browse/STREAMPIPES-638](https://)<br>
> > > issues)<br> .apache.org/jira/browse/STREAMPIPES-638)<br><br><br>
> > > 
> > > 
> > > Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian <br>
> > > Micklich:<br><br>><br>> > 
> > > > Hi,<br><br><br><br>
> > > > 
> > > > I updated the Jira Ticket and described the setup little bit <br> <br>
> > > > more.<br><br> If my intellij is working I can run some last tests <br>
> > > > on <br> the base implementation.<br><br><br><br>
> > > > 
> > > > My thoughts for the setup implementation:<br><br><br><br>
> > > > 
> > > > The setup could be visible in the Configuration -> Pipeline <br>
> > > > Element <br> Configuration and if the service is available due <br>
> > > > correct setup and <br> scripts import.<br><br> (see picture in <br>
> > > > jira ticket <br><br><br><br>
> > > > 
> > > > 
> > > > To have still a plug and play system by default, we could <br>
> > > > implement <br> a "fallback" projection system with a limited EPSG <br>
> > > > Codes.<br><br> <br> Therefore we could use  proj4j [2].<br><br> So <br>
> > > > for example we allow <br> the user to select just a bunch of valid <br>
> > > > codes from a list <br> somewhere.<br><br><br><br>
> > > > 
> > > > 
> > > > [1] <br><br>
> > > > [[[[https://github.com/locationtech/proj4j](https://github.com/loca](https://github.com/locationtech/proj4j](https://github.com/loca)<br>
> > > > tio]([https://github.com/locationtech/proj4j](https://github.com/lo](https://github.com/locationtech/proj4j](https://github.com/lo)<br>
> > > > catio)<br> <br>
> > > > ntech/proj4j)]([[https://github.com/locationtech/proj4j](https://gi](https://github.com/locationtech/proj4j](https://gi)<br>
> > > > thu]([https://github.com/locationtech/proj4j](https://githu)](https://github.com/locationtech/proj4j](https://githu))<br><br>
> > > > b.com/locationtech/proj4j))<br><br><br><br>
> > > > 
> > > > What do you think?<br><br><br><br>
> > > > Greetings<br><br><br><br>
> > > > Florian<br><br><br><br>
> > > > 
> > > > Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian <br> <br>
> > > > Micklich:<br><br>><br>> ><br>> > > 
> > > > > Hi Philipp,<br><br><br><br><br>
> > > > > 
> > > > > ok, maybe we can have a deeper discussion next week.<br><br><br> <br>
> > > > > I <br> am on vacation this week without computer  <br>
> > > > > :)<br><br><br><br><br>
> > > > > 
> > > > > With dataSource I mean the "Registration by Java code" as <br> <br>
> > > > > describet here [1].<br><br><br> I startet to write that code <br>
> > > > > <br> yesterday but was not able to check it due another <br> <br>
> > > > > issue.<br><br><br><br><br>
> > > > > 
> > > > > Florian<br><br><br><br><br>
> > > > > 
> > > > > 
> > > > > [1] <br><br>
> > > > > [[[[[https://sis.apache.org/epsg.html](https://sis.apache.org/eps](https://sis.apache.org/epsg.html](https://sis.apache.org/eps)<br>
> > > > > g.h]([https://sis.apache.org/epsg.html](https://sis.apache.org/ep](https://sis.apache.org/epsg.html](https://sis.apache.org/ep)<br>
> > > > > sg.h)<br> <br>
> > > > > tml)]([[https://sis.apache.org/epsg.html](https://sis.apache.org/](https://sis.apache.org/epsg.html](https://sis.apache.org/)<br>
> > > > > eps]([https://sis.apache.org/epsg.html](https://sis.apache.org/ep](https://sis.apache.org/epsg.html](https://sis.apache.org/ep)<br>
> > > > > s)<br> <br>
> > > > > g.html))]([[https://sis.apache.org/epsg.html](https://sis.apache](https://sis.apache.org/epsg.html](https://sis.apache).<br>
> > > > > org]([https://sis.apache.org/epsg.html](https://sis.apache.org)](https://sis.apache.org/epsg.html](https://sis.apache.org))<b<br>
> > > > > r> <br>
> > > > > /epsg.html)]([[https://sis.apache.org/epsg.html](https://sis.apac](https://sis.apache.org/epsg.html](https://sis.apac)<br>
> > > > > he]([https://sis.apache.org/epsg.html](https://sis.apache)](https://sis.apache.org/epsg.html](https://sis.apache)).<br><br>
> > > > > org/epsg.html)))<br><br><br><br><br>
> > > > > 
> > > > > 
> > > > > ⁣BlueMail for Android herunterladen ​<br><br><br><br><br>
> > > > > 
> > > > > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <br> <br>
> > > > > <[[[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.zehnder@bytef<br>
> > > > > abrik.ai)](mailto:philipp.zehnder@bytefabr<br><br>
> > > > > ik.ai)](mailto:[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.z<br>
> > > > > [ehnder@bytefabrik.ai](mailto:ehnder@bytefabrik.ai))](mailto:philipp.zehn<br><br>
> > > > > [[der@bytefabrik.ai](mailto:der@bytefabrik.ai)](mailto:[der@bytefabrik.ai](mailto:der@bytefabrik.ai))))](mailto:[[[phili<br>
> > > > > [pp.zehnder@bytefabrik.ai](mailto:pp.zehnder@bytefabrik.ai)](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai))]<br>
> > > > > (mailt<br> <br>
> > > > > o:[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.zehnder@bytefab<br>
> > > > > rik.ai))](mailto:[philipp.zehnder@bytefabr<br><br>
> > > > > ik.ai](mailto:[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.zeh<br>
> > > > > [nder@bytefabrik.ai](mailto:nder@bytefabrik.ai)))))> schrieb:<br><br>> <br> <br>> ><br>> > ><br>> > > > 
> > > > > > Hi Florian,<br><br><br><br><br>
> > > > > > 
> > > > > > thanks for opening the issue.<br><br><br> I really like the <br>
> > > > > > <br> illustration, something like this would also be <br> <br>
> > > > > > great<br><br><br> for the documentation of the processing <br> <br>
> > > > > > elements.<br><br><br><br><br>
> > > > > > 
> > > > > > As for the workflow, I'm not quite sure how we can handle <br>
> > > > > > that. <br> Because<br><br><br> so far, the idea is that the <br>
> > > > > > system is plug <br> and play.<br><br><br> The normal ‘user’ <br>
> > > > > > should not have to <br> configure things on the <br>
> > > > > > system<br><br><br> before it is <br> used.<br><br><br> My <br>
> > > > > > suggestion would be to have a separate <br> service that can <br>
> > > > > > optionally<br><br><br> be integrated by <br> manually adding <br>
> > > > > > it to the docker-compose.<br><br><br> In this <br> docker <br>
> > > > > > service a volume mapping would be required. If the <br> <br>
> > > > > > files<br><br><br> are missing a message should be printed to <br>
> > > > > > the <br> logs.<br><br><br><br><br>
> > > > > > 
> > > > > > What do you mean by connection source?<br><br><br><br><br>
> > > > > > 
> > > > > > Cheers,<br><br><br><br><br>
> > > > > > Philipp<br><br><br><br><br>
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > Von: Florian Micklich <br><br>
> > > > > > <[[[[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:florian.mick<br>
> > > > > > [lich@mailbox.org.INVALID](mailto:lich@mailbox.org.INVALID))](mailto:florian.micklic<br><br>
> > > > > > [[h@mailbox.org.INVALID](mailto:h@mailbox.org.INVALID)](mailto:[h@mailbox.org.INVALID](mailto:h@mailbox.org.INVALID)))](mailto<br>
> > > > > > :[[[florian.micklich@mailbox.org.INV](mailto:florian.micklich@mailbox.org.INV)](mailto:florian.micklich@m<br>
> > > > > > ailbox.org.INV)<br> <br>
> > > > > > ALID](mailto:[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:flo<br>
> > > > > > [rian.micklich@mailbox.org.INVALID](mailto:rian.micklich@mailbox.org.INVALID))))](mailto:[[fl<br><br>
> > > > > > [[orian.micklich@mailbox.org.INVALID](mailto:orian.micklich@mailbox.org.INVALID)](mailto:orian.micklich@mai<br>
> > > > > > lbox.org.INVALID)](mailto:florian.micklich@mail<br><br>
> > > > > > box.org.INVALID)](mailto:[[[florian.micklich@mailbox.org.INVALI](mailto:florian.micklich@mailbox.org.INVALI)<br>
> > > > > > D](mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID))](<br><br>
> > > > > > mailto:[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:florian.m<br>
> > > > > > [icklich@mailbox.org.INVALID](mailto:icklich@mailbox.org.INVALID)))))><br><br><br><br><br>
> > > > > > Datum: Sonntag, 18. September 2022 um 12:44<br><br><br><br><br>
> > > > > > An: dev <br><br>
> > > > > > <[[[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache](mailto:dev@streampipes.apache)<br>
> > > > > > .org)](mailto:[[dev@streampipes.apache.or](mailto:dev@streampipes.apache.or)](mailto:dev@streampip<br>
> > > > > > es.apache.or)<br> <br>
> > > > > > g)](mailto:[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:dev@streampipe<br>
> > > > > > s.apache.org)](mailto:[[dev@streampipes.a](mailto:dev@streampipes.a)](mailto:dev@streampip<br>
> > > > > > es.a)<br> <br>
> > > > > > pache.org))](mailto:[[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:dev@<br>
> > > > > > streampipes.apache.org)](mailto:dev@str<br><br>
> > > > > > eampipes.apache.org)](mailto:[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mai<br>
> > > > > > lto:[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org))](mailto<br><br>
> > > > > > :[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.or](mailto:dev@streampipes.apache.or)<br>
> > > > > > g))))><br><br><br><br><br>
> > > > > > Betreff: [DISCUSS] Setup for Coordinate Reference System <br> <br>
> > > > > > Reprojection<br><br><br> Sources<br><br><br> Hi <br> <br>
> > > > > > everybody,<br><br><br><br><br>
> > > > > > 
> > > > > > I created a Ticket [1] to implement projection handling for <br>
> > > > > > <br> geo<br><br><br> operations.<br><br><br><br><br>
> > > > > > 
> > > > > > User case.:<br><br><br><br><br>
> > > > > > 
> > > > > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit <br> <br>
> > > > > > meter).<br><br><br> With meter you can do calculations , which <br>
> > > > > > <br> needs a metric Unit system<br><br><br> e.g. area <br>
> > > > > > calculation, <br> everything with distance and so <br>
> > > > > > on.<br><br><br><br><br>
> > > > > > 
> > > > > > I also added a short wortkflow picture for better <br>
> > > > > > understanding <br> and a<br><br><br> docker-compose file for <br>
> > > > > > SP <br> Service.<br><br><br><br><br>
> > > > > > 
> > > > > > While I am working on the processor itself, I have a couple <br>
> > > > > > <br> of<br><br><br> questions and would need support for <br>
> > > > > > implementing <br> everything in the the<br><br><br> SP UI and <br>
> > > > > > discuss best ways <br> how to set up!<br><br><br><br><br>
> > > > > > 
> > > > > > Any ideas or questions?<br><br><br><br><br>
> > > > > > 
> > > > > > Greetings<br><br><br><br><br>
> > > > > > Florian<br><br><br><br><br>
> > > > > > 
> > > > > > [1] <br><br>
> > > > > > [[[[[https://issues.apache.org/jira/browse/STREAMPIPES-584](htt](https://issues.apache.org/jira/browse/STREAMPIPES-584](htt)<br>
> > > > > > ps]([https://issues.apache.org/jira/browse/STREAMPIPES-584](htt](https://issues.apache.org/jira/browse/STREAMPIPES-584](htt)<br>
> > > > > > ps):<br> <br>
> > > > > > //issues.apache.org/jira/browse/STREAMPIPES-584)]([[https://iss](https://iss)<br>
> > > > > > ues]([https://issues](https://issues))<br> <br>
> > > > > > .apache.org/jira/browse/STREAMPIPES-584]([[https://issues.apach](https://issues.apach)<br>
> > > > > > e.o]([https://issues.apache.o](https://issues.apache.o))<br> <br>
> > > > > > rg/jira/browse/STREAMPIPES-584))]([[https://issues.apache.org/j](https://issues.apache.org/j)<br>
> > > > > > ira]([https://issues.apache.org/jira](https://issues.apache.org/jira))<br><br>
> > > > > > /browse/STREAMPIPES-584]([[https://issues.apache.org/jira/brows](https://issues.apache.org/jira/brows)<br>
> > > > > > e/S]([https://issues.apache.org/jira/browse/S](https://issues.apache.org/jira/browse/S))<br><br>
> > > > > > TREAMPIPES-584)]([[https://issues.apache.org/jira/browse/STREAM](https://issues.apache.org/jira/browse/STREAM)<br>
> > > > > > PIP]([https://issues.apache.org/jira/browse/STREAMPIP](https://issues.apache.org/jira/browse/STREAMPIP))<br><br>
> > > > > > ES-584]([[https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)<br>
> > > > > > ]([https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)))))<br<br>> > > > > 
> > > > > > > 
> > > > > > <br><br><br><br><br>

RE: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Dominik Riemer <do...@bytefabrik.ai>.
Hi Florian,
thanks for asking!
Then I propose to stick with the Apache SIS/empty database approach and to not include any ProJ4j dependencies in our source.

Cheers
Dominik 


-----Original Message-----
From: Florian Micklich <mi...@apache.org> 
Sent: Tuesday, November 22, 2022 10:56 PM
To: dev@streampipes.apache.org
Subject: Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Hi Dominik,

Am Dienstag, dem 22.11.2022 um 15:12 +0000 schrieb Dominik Riemer:
> Hi Florian,<br>
> 
> just to make sure I understand correctly:<br>
> 
> * There is an "SIS approach" which doesn't have any licensing issues 
> as users would need to fill their own database and only Apache SIS 
> dependencies are used in this approach<br>


Yes that is correct.


> * There could be a fallback option which wouldn't require users to 
> have their own database, but that would require pulling in Proj4j, 
> which itself relies on EPSG datasets.<br>

Yes, that was my idea. Also to use only some basic coordinates reference systems.
But I had the same question like you in mind so I wrote Martin (maintainer of SIS) exactly this kind of questions.
The answer is really worth reading!  I am really surprised and amazed, because most Geo Open Source programs are based on proj4.


>Hello Florian
>
>Le 22/11/2022 à 18:44, Florian Micklich a écrit :
>
>> I didn't know that proj4j itself uses EPSG data.
>>
>The CSV files in [1] are derived from EPSG tables. The file structures 
>are different than EPSG database schema, but the data that they contain 
>are EPSG data. The same information is also provided in WKT format in 
>[2] (this file somewhat duplicates the CSV tables). Some peoples on 
>PROJ mailing list have argued that rewriting EPSG data in a different 
>format free them from EPSG licensing terms, but this is not true. 
>Translating a software in a different language is a derivative work and 
>is still subject to the licensing terms of the copyright owner. In the 
>same way that translating a book does not suppress the rights of the 
>original author on the translated book. In the case of EPSG data, IOGP 
>allows us to reformat the data in a different way, but under some 
>conditions specified in their Terms of Use. And doing so does not give 
>us the right to erase the EPSG terms of use from the derivative work.
>
>The value of EPSG geodetic dataset is not in the database schema 
>(converting that to a different data structure is the easy part), but 
>in the data themselves. Creating a new "EPSG-like" dataset from scratch 
>would be a huge effort, well beyond our capability. We would have to 
>visit all national mapping agencies in the world, ask them to provide 
>documentation about the Coordinate Reference System they have defined 
>(including historical ones), consolidate all those information in some 
>tables, etc. So the CSV files [1] in PROJ4 contain an enormous amount 
>of EPSG work, even if the data structures are different.
>
>[1]https://github.com/locationtech/proj4j/tree/master/src/main/resource
>s/proj4 
>[2]https://raw.githubusercontent.com/locationtech/proj4j/master/src/mai
>n/resources/proj4/wkt/epsg.properties
>
>
>> Until now I thought it would be a good alternative lib besides EPSG 
>> approach.
>>
>When creating a Coordinate Reference System (CRS) from an EPSG code 
>such as "EPSG:4326", we are using the EPSG geodetic dataset. I think 
>that if a software contains e.g. 10 EPSG codes (compared to the ~6000 
>definitions in the full dataset), it could be considered Fair Use. But 
>including the full dataset requires that we comply with EPSG Terms Of Use.
>
>However if CRS are created from user-supplied WKT strings (or PROJ4 
>parameter strings), then no EPSG code is involved. The WKT definition 
>string may contain an AUTHORITY["EPSG", 4326] element, but it only 
>means "see EPSG:4326 for more complete information".
>
>
>> So what would be your advise with proj4(j) and how to handle that 
>> kind of implementation in an Apache project?
>>
>EPSG geodetic dataset is not needed when the CRS is built from WKT, GML 
>or some file formats like NetCDF and some (not all) GeoTIFF files. So 
>the approach taken in Apache SIS applications (JavaFX and console
>application) is to start without EPSG data. Then the first time that an 
>EPSG code is really needed, the application popups a dialog box (in
>JavaFX) or an interactive prompt (in console application) asking users 
>if they want to download the EPSG geodetic dataset. If users click 
>"yes", the EPSG Terms of Use is shown and the application asks users if 
>they accept. If they confirm, then the EPSG geodetic dataset is 
>downloaded and a database is created locally.
>
>Note that above procedure is needed only for software downloaded 
>directly from Apache servers. Anyone can bundle an application outside 
>Apache which contains the Apache software + EPSG data. The only 
>condition for being allowed to do that is to include the EPSG Terms of 
>Use (in addition of Apache license) in the application bundle.
>
>
>> Officially it is running on MIT license.
>>
>Yes, this issue has been raised on their mailing list. PROJ maintainers 
>have choose to ignore. Some of them pretended that EPSG Terms of Use do 
>not apply to them anymore because they converted the PostgreSQL scripts 
>to SQLite scripts. I'm not a lawyer, but I think that this argument has 
>zero chance to hold in court. For now they rely on the fact that IOGP 
>(the owner of EPSG database) does not want to upset the geodetic community.
>
>     Martin

Exploding Head Smiley :-D

Greetings
Florian

> 
> Is this correct?<br>
> 
> Cheers<br>
> Dominik<br>
> 
> 
> -----Original Message-----<br>
> From: Florian Micklich 
> <[micklich@apache.org](mailto:micklich@apache.org)> <br>
> Sent: Tuesday, November 22, 2022 2:59 PM<br>
> To: 
> [dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)<br>
> Subject: Re: [DISCUSS] Setup for Coordinate Reference System 
> Reprojection Sources<br>
> 
> Hi,<br>
> 
> I found an interesting post regarding proj4j.<br> That's why I prefer 
> the SIS approach with external database.<br> What do you think about 
> the mentioned "copyright infringement" opinion?<br>
> 
> PROJ claims to be under MIT license, but in my understanding this is 
> copyright infringement. PROJ license should be MIT + EPSG terms of 
> use.<br>
> 
> The whole post is:<br>
> 
> > Proj4J (and its parent PROJ project) includes EPSG data, so the use 
> > of <br> Proj4J dependency implies accepting EPSG terms of use [1]. 
> > PROJ claims <br> to be under MIT license, but in my understanding 
> > this is copyright <br> infringement. PROJ license should be MIT + 
> > EPSG terms of use.<br>
> > 
> > EPSG terms of use is a Category X license for Apache. The use of 
> > EPSG <br> data has been discussed in Apache Legal [2][3]. The 
> > conclusion was <br> that an Apache project can include EPSG data if 
> > they are optional <br> (i.e. the application can still do useful 
> > work without them), the main <br> release does not contain them, and 
> > the data are available in a <br> separated download prominently 
> > labelled as under a more restrictive <br> license than Apache.<br>
> > 
> > [1][https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-us
> > e.html)<br>
> > 
> > [2][https://issues.apache.org/jira/browse/LEGAL-183](https://issues.
> > apache.org/jira/browse/LEGAL-183)<br>
> > 
> > [3][https://issues.apache.org/jira/browse/LEGAL-347](https://issues.
> > apache.org/jira/browse/LEGAL-347)<br>
> > 
> 
> 
> 
> 
> Am Freitag, dem 18.11.2022 um 22:27 +0100 schrieb Florian 
> Micklich:<br>
> > Hi,<br><br>
> > 
> > the basic sis implementation is done :)<br> I created a pull request 
> > <br> [1] and happy about any feedback.<br><br>
> > 
> > 
> > Form the fallback options I created this ticket [2]<br><br>
> > 
> > Florian<br><br>
> > 
> > [1] <br>
> > [[https://github.com/apache/streampipes/pull/146](https://github.com
> > /ap](https://github.com/apache/streampipes/pull/146](https://github.
> > com/ap)<br> ache/streampipes/pull/146)<br> [2]  <br> 
> > [[https://issues.apache.org/jira/browse/STREAMPIPES-638](https://iss
> > ues](https://issues.apache.org/jira/browse/STREAMPIPES-638](https://
> > issues)<br> .apache.org/jira/browse/STREAMPIPES-638)<br><br>
> > 
> > 
> > Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian 
> > Micklich:<br><br>>
> > > Hi,<br><br><br>
> > > 
> > > I updated the Jira Ticket and described the setup little bit <br> 
> > > more.<br><br> If my intellij is working I can run some last tests 
> > > on <br> the base implementation.<br><br><br>
> > > 
> > > My thoughts for the setup implementation:<br><br><br>
> > > 
> > > The setup could be visible in the Configuration -> Pipeline 
> > > Element <br> Configuration and if the service is available due 
> > > correct setup and <br> scripts import.<br><br> (see picture in 
> > > jira ticket <br><br><br>
> > > 
> > > 
> > > To have still a plug and play system by default, we could 
> > > implement <br> a "fallback" projection system with a limited EPSG 
> > > Codes.<br><br> <br> Therefore we could use  proj4j [2].<br><br> So 
> > > for example we allow <br> the user to select just a bunch of valid 
> > > codes from a list <br> somewhere.<br><br><br>
> > > 
> > > 
> > > [1] <br>
> > > [[[https://github.com/locationtech/proj4j](https://github.com/loca
> > > tio](https://github.com/locationtech/proj4j](https://github.com/lo
> > > catio)<br> 
> > > ntech/proj4j)]([https://github.com/locationtech/proj4j](https://gi
> > > thu](https://github.com/locationtech/proj4j](https://githu)<br>
> > > b.com/locationtech/proj4j))<br><br><br>
> > > 
> > > What do you think?<br><br><br>
> > > Greetings<br><br><br>
> > > Florian<br><br><br>
> > > 
> > > Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian <br> 
> > > Micklich:<br><br>><br>> >
> > > > Hi Philipp,<br><br><br><br>
> > > > 
> > > > ok, maybe we can have a deeper discussion next week.<br><br><br> 
> > > > I <br> am on vacation this week without computer  
> > > > :)<br><br><br><br>
> > > > 
> > > > With dataSource I mean the "Registration by Java code" as <br> 
> > > > describet here [1].<br><br><br> I startet to write that code 
> > > > <br> yesterday but was not able to check it due another <br> 
> > > > issue.<br><br><br><br>
> > > > 
> > > > Florian<br><br><br><br>
> > > > 
> > > > 
> > > > [1] <br>
> > > > [[[[https://sis.apache.org/epsg.html](https://sis.apache.org/eps
> > > > g.h](https://sis.apache.org/epsg.html](https://sis.apache.org/ep
> > > > sg.h)<br> 
> > > > tml)]([https://sis.apache.org/epsg.html](https://sis.apache.org/
> > > > eps](https://sis.apache.org/epsg.html](https://sis.apache.org/ep
> > > > s)<br> 
> > > > g.html))]([https://sis.apache.org/epsg.html](https://sis.apache.
> > > > org](https://sis.apache.org/epsg.html](https://sis.apache.org)<b
> > > > r> 
> > > > /epsg.html)]([https://sis.apache.org/epsg.html](https://sis.apac
> > > > he](https://sis.apache.org/epsg.html](https://sis.apache).<br>
> > > > org/epsg.html)))<br><br><br><br>
> > > > 
> > > > 
> > > > ⁣BlueMail for Android herunterladen ​<br><br><br><br>
> > > > 
> > > > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <br> 
> > > > <[[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytef
> > > > abrik.ai)](mailto:philipp.zehnder@bytefabr<br>
> > > > ik.ai)](mailto:[[philipp.zehnder@bytefabrik.ai](mailto:philipp.z
> > > > ehnder@bytefabrik.ai)](mailto:philipp.zehn<br>
> > > > [der@bytefabrik.ai](mailto:der@bytefabrik.ai)))](mailto:[[[phili
> > > > pp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)]
> > > > (mailt<br> 
> > > > o:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefab
> > > > rik.ai))](mailto:[philipp.zehnder@bytefabr<br>
> > > > ik.ai](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zeh
> > > > nder@bytefabrik.ai))))> schrieb:<br><br>> <br> <br>> ><br>> > >
> > > > > Hi Florian,<br><br><br><br>
> > > > > 
> > > > > thanks for opening the issue.<br><br><br> I really like the 
> > > > > <br> illustration, something like this would also be <br> 
> > > > > great<br><br><br> for the documentation of the processing <br> 
> > > > > elements.<br><br><br><br>
> > > > > 
> > > > > As for the workflow, I'm not quite sure how we can handle 
> > > > > that. <br> Because<br><br><br> so far, the idea is that the 
> > > > > system is plug <br> and play.<br><br><br> The normal ‘user’ 
> > > > > should not have to <br> configure things on the 
> > > > > system<br><br><br> before it is <br> used.<br><br><br> My 
> > > > > suggestion would be to have a separate <br> service that can 
> > > > > optionally<br><br><br> be integrated by <br> manually adding 
> > > > > it to the docker-compose.<br><br><br> In this <br> docker 
> > > > > service a volume mapping would be required. If the <br> 
> > > > > files<br><br><br> are missing a message should be printed to 
> > > > > the <br> logs.<br><br><br><br>
> > > > > 
> > > > > What do you mean by connection source?<br><br><br><br>
> > > > > 
> > > > > Cheers,<br><br><br><br>
> > > > > Philipp<br><br><br><br>
> > > > > 
> > > > > 
> > > > > 
> > > > > Von: Florian Micklich <br>
> > > > > <[[[[florian.micklich@mailbox.org.INVALID](mailto:florian.mick
> > > > > lich@mailbox.org.INVALID)](mailto:florian.micklic<br>
> > > > > [h@mailbox.org.INVALID](mailto:h@mailbox.org.INVALID))](mailto
> > > > > :[[florian.micklich@mailbox.org.INV](mailto:florian.micklich@m
> > > > > ailbox.org.INV)<br> 
> > > > > ALID](mailto:[florian.micklich@mailbox.org.INVALID](mailto:flo
> > > > > rian.micklich@mailbox.org.INVALID)))](mailto:[[fl<br>
> > > > > [orian.micklich@mailbox.org.INVALID](mailto:orian.micklich@mai
> > > > > lbox.org.INVALID)](mailto:florian.micklich@mail<br>
> > > > > box.org.INVALID)](mailto:[[florian.micklich@mailbox.org.INVALI
> > > > > D](mailto:florian.micklich@mailbox.org.INVALID)](<br>
> > > > > mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.m
> > > > > icklich@mailbox.org.INVALID))))><br><br><br><br>
> > > > > Datum: Sonntag, 18. September 2022 um 12:44<br><br><br><br>
> > > > > An: dev <br>
> > > > > <[[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache
> > > > > .org)](mailto:[dev@streampipes.apache.or](mailto:dev@streampip
> > > > > es.apache.or)<br> 
> > > > > g)](mailto:[[dev@streampipes.apache.org](mailto:dev@streampipe
> > > > > s.apache.org)](mailto:[dev@streampipes.a](mailto:dev@streampip
> > > > > es.a)<br> 
> > > > > pache.org))](mailto:[[[dev@streampipes.apache.org](mailto:dev@
> > > > > streampipes.apache.org)](mailto:dev@str<br>
> > > > > eampipes.apache.org)](mailto:[[dev@streampipes.apache.org](mai
> > > > > lto:dev@streampipes.apache.org)](mailto<br>
> > > > > :[dev@streampipes.apache.org](mailto:dev@streampipes.apache.or
> > > > > g))))><br><br><br><br>
> > > > > Betreff: [DISCUSS] Setup for Coordinate Reference System <br> 
> > > > > Reprojection<br><br><br> Sources<br><br><br> Hi <br> 
> > > > > everybody,<br><br><br><br>
> > > > > 
> > > > > I created a Ticket [1] to implement projection handling for 
> > > > > <br> geo<br><br><br> operations.<br><br><br><br>
> > > > > 
> > > > > User case.:<br><br><br><br>
> > > > > 
> > > > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit <br> 
> > > > > meter).<br><br><br> With meter you can do calculations , which 
> > > > > <br> needs a metric Unit system<br><br><br> e.g. area 
> > > > > calculation, <br> everything with distance and so 
> > > > > on.<br><br><br><br>
> > > > > 
> > > > > I also added a short wortkflow picture for better 
> > > > > understanding <br> and a<br><br><br> docker-compose file for 
> > > > > SP <br> Service.<br><br><br><br>
> > > > > 
> > > > > While I am working on the processor itself, I have a couple 
> > > > > <br> of<br><br><br> questions and would need support for 
> > > > > implementing <br> everything in the the<br><br><br> SP UI and 
> > > > > discuss best ways <br> how to set up!<br><br><br><br>
> > > > > 
> > > > > Any ideas or questions?<br><br><br><br>
> > > > > 
> > > > > Greetings<br><br><br><br>
> > > > > Florian<br><br><br><br>
> > > > > 
> > > > > [1] <br>
> > > > > [[[[https://issues.apache.org/jira/browse/STREAMPIPES-584](htt
> > > > > ps](https://issues.apache.org/jira/browse/STREAMPIPES-584](htt
> > > > > ps):<br> 
> > > > > //issues.apache.org/jira/browse/STREAMPIPES-584)]([https://iss
> > > > > ues](https://issues)<br> 
> > > > > .apache.org/jira/browse/STREAMPIPES-584]([https://issues.apach
> > > > > e.o](https://issues.apache.o)<br> 
> > > > > rg/jira/browse/STREAMPIPES-584))]([https://issues.apache.org/j
> > > > > ira](https://issues.apache.org/jira)<br>
> > > > > /browse/STREAMPIPES-584]([https://issues.apache.org/jira/brows
> > > > > e/S](https://issues.apache.org/jira/browse/S)<br>
> > > > > TREAMPIPES-584)]([https://issues.apache.org/jira/browse/STREAM
> > > > > PIP](https://issues.apache.org/jira/browse/STREAMPIP)<br>
> > > > > ES-584]([https://issues.apache.org/jira/browse/STREAMPIPES-584
> > > > > ](https://issues.apache.org/jira/browse/STREAMPIPES-584))))<br
> > > > > >
> > > > > <br><br><br><br>

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <mi...@apache.org>.
Hi Dominik,

Am Dienstag, dem 22.11.2022 um 15:12 +0000 schrieb Dominik Riemer:
> Hi Florian,<br>
> 
> just to make sure I understand correctly:<br>
> 
> * There is an "SIS approach" which doesn't have any licensing issues as users would need to fill their own database and only Apache SIS dependencies are used in this approach<br>


Yes that is correct.


> * There could be a fallback option which wouldn't require users to have their own database, but that would require pulling in Proj4j, which itself relies on EPSG datasets.<br>

Yes, that was my idea. Also to use only some basic coordinates reference systems.
But I had the same question like you in mind so I wrote Martin (maintainer of SIS) exactly this kind of questions.
The answer is really worth reading!  I am really surprised and amazed, because most Geo Open Source programs are based on proj4.


>Hello Florian
>
>Le 22/11/2022 à 18:44, Florian Micklich a écrit :
>
>> I didn't know that proj4j itself uses EPSG data.
>>
>The CSV files in [1] are derived from EPSG tables. The file structures 
>are different than EPSG database schema, but the data that they contain 
>are EPSG data. The same information is also provided in WKT format in 
>[2] (this file somewhat duplicates the CSV tables). Some peoples on PROJ 
>mailing list have argued that rewriting EPSG data in a different format 
>free them from EPSG licensing terms, but this is not true. Translating a 
>software in a different language is a derivative work and is still 
>subject to the licensing terms of the copyright owner. In the same way 
>that translating a book does not suppress the rights of the original 
>author on the translated book. In the case of EPSG data, IOGP allows us 
>to reformat the data in a different way, but under some conditions 
>specified in their Terms of Use. And doing so does not give us the right 
>to erase the EPSG terms of use from the derivative work.
>
>The value of EPSG geodetic dataset is not in the database schema 
>(converting that to a different data structure is the easy part), but in 
>the data themselves. Creating a new "EPSG-like" dataset from scratch 
>would be a huge effort, well beyond our capability. We would have to 
>visit all national mapping agencies in the world, ask them to provide 
>documentation about the Coordinate Reference System they have defined 
>(including historical ones), consolidate all those information in some 
>tables, etc. So the CSV files [1] in PROJ4 contain an enormous amount of 
>EPSG work, even if the data structures are different.
>
>[1]https://github.com/locationtech/proj4j/tree/master/src/main/resources/proj4
>[2]https://raw.githubusercontent.com/locationtech/proj4j/master/src/main/resources/proj4/wkt/epsg.properties
>
>
>> Until now I thought it would be a good alternative lib besides EPSG 
>> approach.
>>
>When creating a Coordinate Reference System (CRS) from an EPSG code such 
>as "EPSG:4326", we are using the EPSG geodetic dataset. I think that if 
>a software contains e.g. 10 EPSG codes (compared to the ~6000 
>definitions in the full dataset), it could be considered Fair Use. But 
>including the full dataset requires that we comply with EPSG Terms Of Use.
>
>However if CRS are created from user-supplied WKT strings (or PROJ4 
>parameter strings), then no EPSG code is involved. The WKT definition 
>string may contain an AUTHORITY["EPSG", 4326] element, but it only means 
>"see EPSG:4326 for more complete information".
>
>
>> So what would be your advise with proj4(j) and how to handle that kind 
>> of implementation in an Apache project?
>>
>EPSG geodetic dataset is not needed when the CRS is built from WKT, GML 
>or some file formats like NetCDF and some (not all) GeoTIFF files. So 
>the approach taken in Apache SIS applications (JavaFX and console 
>application) is to start without EPSG data. Then the first time that an 
>EPSG code is really needed, the application popups a dialog box (in 
>JavaFX) or an interactive prompt (in console application) asking users 
>if they want to download the EPSG geodetic dataset. If users click 
>"yes", the EPSG Terms of Use is shown and the application asks users if 
>they accept. If they confirm, then the EPSG geodetic dataset is 
>downloaded and a database is created locally.
>
>Note that above procedure is needed only for software downloaded 
>directly from Apache servers. Anyone can bundle an application outside 
>Apache which contains the Apache software + EPSG data. The only 
>condition for being allowed to do that is to include the EPSG Terms of 
>Use (in addition of Apache license) in the application bundle.
>
>
>> Officially it is running on MIT license.
>>
>Yes, this issue has been raised on their mailing list. PROJ maintainers 
>have choose to ignore. Some of them pretended that EPSG Terms of Use do 
>not apply to them anymore because they converted the PostgreSQL scripts 
>to SQLite scripts. I'm not a lawyer, but I think that this argument has 
>zero chance to hold in court. For now they rely on the fact that IOGP 
>(the owner of EPSG database) does not want to upset the geodetic community.
>
>     Martin

Exploding Head Smiley :-D

Greetings
Florian

> 
> Is this correct?<br>
> 
> Cheers<br>
> Dominik<br>
> 
> 
> -----Original Message-----<br>
> From: Florian Micklich <[micklich@apache.org](mailto:micklich@apache.org)> <br>
> Sent: Tuesday, November 22, 2022 2:59 PM<br>
> To: [dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)<br>
> Subject: Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources<br>
> 
> Hi,<br>
> 
> I found an interesting post regarding proj4j.<br>
> That's why I prefer the SIS approach with external database.<br>
> What do you think about the mentioned "copyright infringement" opinion?<br>
> 
> PROJ claims to be under MIT license, but in my understanding this is copyright infringement. PROJ license should be MIT + EPSG terms of use.<br>
> 
> The whole post is:<br>
> 
> > Proj4J (and its parent PROJ project) includes EPSG data, so the use of <br>
> > Proj4J dependency implies accepting EPSG terms of use [1]. PROJ claims <br>
> > to be under MIT license, but in my understanding this is copyright <br>
> > infringement. PROJ license should be MIT + EPSG terms of use.<br>
> > 
> > EPSG terms of use is a Category X license for Apache. The use of EPSG <br>
> > data has been discussed in Apache Legal [2][3]. The conclusion was <br>
> > that an Apache project can include EPSG data if they are optional <br>
> > (i.e. the application can still do useful work without them), the main <br>
> > release does not contain them, and the data are available in a <br>
> > separated download prominently labelled as under a more restrictive <br>
> > license than Apache.<br>
> > 
> > [1][https://epsg.org/terms-of-use.html](https://epsg.org/terms-of-use.html)<br>
> > 
> > [2][https://issues.apache.org/jira/browse/LEGAL-183](https://issues.apache.org/jira/browse/LEGAL-183)<br>
> > 
> > [3][https://issues.apache.org/jira/browse/LEGAL-347](https://issues.apache.org/jira/browse/LEGAL-347)<br>
> > 
> 
> 
> 
> 
> Am Freitag, dem 18.11.2022 um 22:27 +0100 schrieb Florian Micklich:<br>
> > Hi,<br><br>
> > 
> > the basic sis implementation is done :)<br> I created a pull request <br>
> > [1] and happy about any feedback.<br><br>
> > 
> > 
> > Form the fallback options I created this ticket [2]<br><br>
> > 
> > Florian<br><br>
> > 
> > [1] <br>
> > [[https://github.com/apache/streampipes/pull/146](https://github.com/ap](https://github.com/apache/streampipes/pull/146](https://github.com/ap)<br>
> > ache/streampipes/pull/146)<br> [2]  <br>
> > [[https://issues.apache.org/jira/browse/STREAMPIPES-638](https://issues](https://issues.apache.org/jira/browse/STREAMPIPES-638](https://issues)<br>
> > .apache.org/jira/browse/STREAMPIPES-638)<br><br>
> > 
> > 
> > Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian Micklich:<br><br>> 
> > > Hi,<br><br><br>
> > > 
> > > I updated the Jira Ticket and described the setup little bit <br>
> > > more.<br><br> If my intellij is working I can run some last tests on <br>
> > > the base implementation.<br><br><br>
> > > 
> > > My thoughts for the setup implementation:<br><br><br>
> > > 
> > > The setup could be visible in the Configuration -> Pipeline Element <br>
> > > Configuration and if the service is available due correct setup and <br>
> > > scripts import.<br><br> (see picture in jira ticket <br><br><br>
> > > 
> > > 
> > > To have still a plug and play system by default, we could implement <br>
> > > a "fallback" projection system with a limited EPSG Codes.<br><br> <br>
> > > Therefore we could use  proj4j [2].<br><br> So for example we allow <br>
> > > the user to select just a bunch of valid codes from a list <br>
> > > somewhere.<br><br><br>
> > > 
> > > 
> > > [1] <br>
> > > [[[https://github.com/locationtech/proj4j](https://github.com/locatio](https://github.com/locationtech/proj4j](https://github.com/locatio)<br>
> > > ntech/proj4j)]([https://github.com/locationtech/proj4j](https://githu](https://github.com/locationtech/proj4j](https://githu)<br>
> > > b.com/locationtech/proj4j))<br><br><br>
> > > 
> > > What do you think?<br><br><br>
> > > Greetings<br><br><br>
> > > Florian<br><br><br>
> > > 
> > > Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian <br>
> > > Micklich:<br><br>><br>> > 
> > > > Hi Philipp,<br><br><br><br>
> > > > 
> > > > ok, maybe we can have a deeper discussion next week.<br><br><br> I <br>
> > > > am on vacation this week without computer  :)<br><br><br><br>
> > > > 
> > > > With dataSource I mean the "Registration by Java code" as <br>
> > > > describet here [1].<br><br><br> I startet to write that code <br>
> > > > yesterday but was not able to check it due another <br>
> > > > issue.<br><br><br><br>
> > > > 
> > > > Florian<br><br><br><br>
> > > > 
> > > > 
> > > > [1] <br>
> > > > [[[[https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.h](https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.h)<br>
> > > > tml)]([https://sis.apache.org/epsg.html](https://sis.apache.org/eps](https://sis.apache.org/epsg.html](https://sis.apache.org/eps)<br>
> > > > g.html))]([https://sis.apache.org/epsg.html](https://sis.apache.org](https://sis.apache.org/epsg.html](https://sis.apache.org)<br>
> > > > /epsg.html)]([https://sis.apache.org/epsg.html](https://sis.apache](https://sis.apache.org/epsg.html](https://sis.apache).<br>
> > > > org/epsg.html)))<br><br><br><br>
> > > > 
> > > > 
> > > > ⁣BlueMail for Android herunterladen ​<br><br><br><br>
> > > > 
> > > > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <br>
> > > > <[[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.zehnder@bytefabr<br>
> > > > ik.ai)](mailto:[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:philipp.zehn<br>
> > > > [der@bytefabrik.ai](mailto:der@bytefabrik.ai)))](mailto:[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailt<br>
> > > > o:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai))](mailto:[philipp.zehnder@bytefabr<br>
> > > > ik.ai](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai))))> schrieb:<br><br>> <br>
> > > > <br>> ><br>> > > 
> > > > > Hi Florian,<br><br><br><br>
> > > > > 
> > > > > thanks for opening the issue.<br><br><br> I really like the <br>
> > > > > illustration, something like this would also be <br>
> > > > > great<br><br><br> for the documentation of the processing <br>
> > > > > elements.<br><br><br><br>
> > > > > 
> > > > > As for the workflow, I'm not quite sure how we can handle that. <br>
> > > > > Because<br><br><br> so far, the idea is that the system is plug <br>
> > > > > and play.<br><br><br> The normal ‘user’ should not have to <br>
> > > > > configure things on the system<br><br><br> before it is <br>
> > > > > used.<br><br><br> My suggestion would be to have a separate <br>
> > > > > service that can optionally<br><br><br> be integrated by <br>
> > > > > manually adding it to the docker-compose.<br><br><br> In this <br>
> > > > > docker service a volume mapping would be required. If the <br>
> > > > > files<br><br><br> are missing a message should be printed to the <br>
> > > > > logs.<br><br><br><br>
> > > > > 
> > > > > What do you mean by connection source?<br><br><br><br>
> > > > > 
> > > > > Cheers,<br><br><br><br>
> > > > > Philipp<br><br><br><br>
> > > > > 
> > > > > 
> > > > > 
> > > > > Von: Florian Micklich <br>
> > > > > <[[[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:florian.micklic<br>
> > > > > [h@mailbox.org.INVALID](mailto:h@mailbox.org.INVALID))](mailto:[[florian.micklich@mailbox.org.INV](mailto:florian.micklich@mailbox.org.INV)<br>
> > > > > ALID](mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)))](mailto:[[fl<br>
> > > > > [orian.micklich@mailbox.org.INVALID](mailto:orian.micklich@mailbox.org.INVALID)](mailto:florian.micklich@mail<br>
> > > > > box.org.INVALID)](mailto:[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](<br>
> > > > > mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID))))><br><br><br><br>
> > > > > Datum: Sonntag, 18. September 2022 um 12:44<br><br><br><br>
> > > > > An: dev <br>
> > > > > <[[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.or](mailto:dev@streampipes.apache.or)<br>
> > > > > g)](mailto:[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.a](mailto:dev@streampipes.a)<br>
> > > > > pache.org))](mailto:[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:dev@str<br>
> > > > > eampipes.apache.org)](mailto:[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto<br>
> > > > > :[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org))))><br><br><br><br>
> > > > > Betreff: [DISCUSS] Setup for Coordinate Reference System <br>
> > > > > Reprojection<br><br><br> Sources<br><br><br> Hi <br>
> > > > > everybody,<br><br><br><br>
> > > > > 
> > > > > I created a Ticket [1] to implement projection handling for <br>
> > > > > geo<br><br><br> operations.<br><br><br><br>
> > > > > 
> > > > > User case.:<br><br><br><br>
> > > > > 
> > > > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit <br>
> > > > > meter).<br><br><br> With meter you can do calculations , which <br>
> > > > > needs a metric Unit system<br><br><br> e.g. area calculation, <br>
> > > > > everything with distance and so on.<br><br><br><br>
> > > > > 
> > > > > I also added a short wortkflow picture for better understanding <br>
> > > > > and a<br><br><br> docker-compose file for SP <br>
> > > > > Service.<br><br><br><br>
> > > > > 
> > > > > While I am working on the processor itself, I have a couple <br>
> > > > > of<br><br><br> questions and would need support for implementing <br>
> > > > > everything in the the<br><br><br> SP UI and discuss best ways <br>
> > > > > how to set up!<br><br><br><br>
> > > > > 
> > > > > Any ideas or questions?<br><br><br><br>
> > > > > 
> > > > > Greetings<br><br><br><br>
> > > > > Florian<br><br><br><br>
> > > > > 
> > > > > [1] <br>
> > > > > [[[[https://issues.apache.org/jira/browse/STREAMPIPES-584](https](https://issues.apache.org/jira/browse/STREAMPIPES-584](https):<br>
> > > > > //issues.apache.org/jira/browse/STREAMPIPES-584)]([https://issues](https://issues)<br>
> > > > > .apache.org/jira/browse/STREAMPIPES-584]([https://issues.apache.o](https://issues.apache.o)<br>
> > > > > rg/jira/browse/STREAMPIPES-584))]([https://issues.apache.org/jira](https://issues.apache.org/jira)<br>
> > > > > /browse/STREAMPIPES-584]([https://issues.apache.org/jira/browse/S](https://issues.apache.org/jira/browse/S)<br>
> > > > > TREAMPIPES-584)]([https://issues.apache.org/jira/browse/STREAMPIP](https://issues.apache.org/jira/browse/STREAMPIP)<br>
> > > > > ES-584]([https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584))))<br>
> > > > > <br><br><br><br>

RE: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Dominik Riemer <do...@bytefabrik.ai>.
Hi Florian,

just to make sure I understand correctly:

* There is an "SIS approach" which doesn't have any licensing issues as users would need to fill their own database and only Apache SIS dependencies are used in this approach
* There could be a fallback option which wouldn't require users to have their own database, but that would require pulling in Proj4j, which itself relies on EPSG datasets.

Is this correct?

Cheers
Dominik


-----Original Message-----
From: Florian Micklich <mi...@apache.org> 
Sent: Tuesday, November 22, 2022 2:59 PM
To: dev@streampipes.apache.org
Subject: Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Hi,

I found an interesting post regarding proj4j.
That's why I prefer the SIS approach with external database.
What do you think about the mentioned "copyright infringement" opinion?

PROJ claims to be under MIT license, but in my understanding this is copyright infringement. PROJ license should be MIT + EPSG terms of use.

The whole post is:

> Proj4J (and its parent PROJ project) includes EPSG data, so the use of 
> Proj4J dependency implies accepting EPSG terms of use [1]. PROJ claims 
> to be under MIT license, but in my understanding this is copyright 
> infringement. PROJ license should be MIT + EPSG terms of use.
> 
> EPSG terms of use is a Category X license for Apache. The use of EPSG 
> data has been discussed in Apache Legal [2][3]. The conclusion was 
> that an Apache project can include EPSG data if they are optional 
> (i.e. the application can still do useful work without them), the main 
> release does not contain them, and the data are available in a 
> separated download prominently labelled as under a more restrictive 
> license than Apache.
> 
> [1]https://epsg.org/terms-of-use.html
>
> [2]https://issues.apache.org/jira/browse/LEGAL-183
>
> [3]https://issues.apache.org/jira/browse/LEGAL-347
>




Am Freitag, dem 18.11.2022 um 22:27 +0100 schrieb Florian Micklich:
> Hi,<br>
> 
> the basic sis implementation is done :)<br> I created a pull request 
> [1] and happy about any feedback.<br>
> 
> 
> Form the fallback options I created this ticket [2]<br>
> 
> Florian<br>
> 
> [1] 
> [https://github.com/apache/streampipes/pull/146](https://github.com/ap
> ache/streampipes/pull/146)<br> [2]  
> [https://issues.apache.org/jira/browse/STREAMPIPES-638](https://issues
> .apache.org/jira/browse/STREAMPIPES-638)<br>
> 
> 
> Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian Micklich:<br>
> > Hi,<br><br>
> > 
> > I updated the Jira Ticket and described the setup little bit 
> > more.<br><br> If my intellij is working I can run some last tests on 
> > the base implementation.<br><br>
> > 
> > My thoughts for the setup implementation:<br><br>
> > 
> > The setup could be visible in the Configuration -> Pipeline Element 
> > Configuration and if the service is available due correct setup and 
> > scripts import.<br><br> (see picture in jira ticket <br><br>
> > 
> > 
> > To have still a plug and play system by default, we could implement 
> > a "fallback" projection system with a limited EPSG Codes.<br><br> 
> > Therefore we could use  proj4j [2].<br><br> So for example we allow 
> > the user to select just a bunch of valid codes from a list 
> > somewhere.<br><br>
> > 
> > 
> > [1] 
> > [[https://github.com/locationtech/proj4j](https://github.com/locatio
> > ntech/proj4j)](https://github.com/locationtech/proj4j](https://githu
> > b.com/locationtech/proj4j))<br><br>
> > 
> > What do you think?<br><br>
> > Greetings<br><br>
> > Florian<br><br>
> > 
> > Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian 
> > Micklich:<br><br>>
> > > Hi Philipp,<br><br><br>
> > > 
> > > ok, maybe we can have a deeper discussion next week.<br><br><br> I 
> > > am on vacation this week without computer  :)<br><br><br>
> > > 
> > > With dataSource I mean the "Registration by Java code" as 
> > > describet here [1].<br><br><br> I startet to write that code 
> > > yesterday but was not able to check it due another 
> > > issue.<br><br><br>
> > > 
> > > Florian<br><br><br>
> > > 
> > > 
> > > [1] 
> > > [[[https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.h
> > > tml)](https://sis.apache.org/epsg.html](https://sis.apache.org/eps
> > > g.html))](https://sis.apache.org/epsg.html](https://sis.apache.org
> > > /epsg.html)](https://sis.apache.org/epsg.html](https://sis.apache.
> > > org/epsg.html)))<br><br><br>
> > > 
> > > 
> > > ⁣BlueMail for Android herunterladen ​<br><br><br>
> > > 
> > > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder 
> > > <[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabr
> > > ik.ai)](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehn
> > > der@bytefabrik.ai))](mailto:[[philipp.zehnder@bytefabrik.ai](mailt
> > > o:philipp.zehnder@bytefabrik.ai)](mailto:[philipp.zehnder@bytefabr
> > > ik.ai](mailto:philipp.zehnder@bytefabrik.ai)))> schrieb:<br><br>> 
> > > <br>> >
> > > > Hi Florian,<br><br><br>
> > > > 
> > > > thanks for opening the issue.<br><br><br> I really like the 
> > > > illustration, something like this would also be 
> > > > great<br><br><br> for the documentation of the processing 
> > > > elements.<br><br><br>
> > > > 
> > > > As for the workflow, I'm not quite sure how we can handle that. 
> > > > Because<br><br><br> so far, the idea is that the system is plug 
> > > > and play.<br><br><br> The normal ‘user’ should not have to 
> > > > configure things on the system<br><br><br> before it is 
> > > > used.<br><br><br> My suggestion would be to have a separate 
> > > > service that can optionally<br><br><br> be integrated by 
> > > > manually adding it to the docker-compose.<br><br><br> In this 
> > > > docker service a volume mapping would be required. If the 
> > > > files<br><br><br> are missing a message should be printed to the 
> > > > logs.<br><br><br>
> > > > 
> > > > What do you mean by connection source?<br><br><br>
> > > > 
> > > > Cheers,<br><br><br>
> > > > Philipp<br><br><br>
> > > > 
> > > > 
> > > > 
> > > > Von: Florian Micklich 
> > > > <[[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklic
> > > > h@mailbox.org.INVALID)](mailto:[florian.micklich@mailbox.org.INV
> > > > ALID](mailto:florian.micklich@mailbox.org.INVALID))](mailto:[[fl
> > > > orian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mail
> > > > box.org.INVALID)](mailto:[florian.micklich@mailbox.org.INVALID](
> > > > mailto:florian.micklich@mailbox.org.INVALID)))><br><br><br>
> > > > Datum: Sonntag, 18. September 2022 um 12:44<br><br><br>
> > > > An: dev 
> > > > <[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.or
> > > > g)](mailto:[dev@streampipes.apache.org](mailto:dev@streampipes.a
> > > > pache.org))](mailto:[[dev@streampipes.apache.org](mailto:dev@str
> > > > eampipes.apache.org)](mailto:[dev@streampipes.apache.org](mailto
> > > > :dev@streampipes.apache.org)))><br><br><br>
> > > > Betreff: [DISCUSS] Setup for Coordinate Reference System 
> > > > Reprojection<br><br><br> Sources<br><br><br> Hi 
> > > > everybody,<br><br><br>
> > > > 
> > > > I created a Ticket [1] to implement projection handling for 
> > > > geo<br><br><br> operations.<br><br><br>
> > > > 
> > > > User case.:<br><br><br>
> > > > 
> > > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit 
> > > > meter).<br><br><br> With meter you can do calculations , which 
> > > > needs a metric Unit system<br><br><br> e.g. area calculation, 
> > > > everything with distance and so on.<br><br><br>
> > > > 
> > > > I also added a short wortkflow picture for better understanding 
> > > > and a<br><br><br> docker-compose file for SP 
> > > > Service.<br><br><br>
> > > > 
> > > > While I am working on the processor itself, I have a couple 
> > > > of<br><br><br> questions and would need support for implementing 
> > > > everything in the the<br><br><br> SP UI and discuss best ways 
> > > > how to set up!<br><br><br>
> > > > 
> > > > Any ideas or questions?<br><br><br>
> > > > 
> > > > Greetings<br><br><br>
> > > > Florian<br><br><br>
> > > > 
> > > > [1] 
> > > > [[[https://issues.apache.org/jira/browse/STREAMPIPES-584](https:
> > > > //issues.apache.org/jira/browse/STREAMPIPES-584)](https://issues
> > > > .apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.o
> > > > rg/jira/browse/STREAMPIPES-584))](https://issues.apache.org/jira
> > > > /browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/S
> > > > TREAMPIPES-584)](https://issues.apache.org/jira/browse/STREAMPIP
> > > > ES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)))
> > > > <br><br><br>

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <mi...@apache.org>.
Hi,

I found an interesting post regarding proj4j.
That's why I prefer the SIS approach with external database.
What do you think about the mentioned "copyright infringement" opinion?

PROJ claims to be under MIT license, but in my understanding this is copyright infringement. PROJ license should be MIT + EPSG terms of use.

The whole post is:

> Proj4J (and its parent PROJ project) includes EPSG 
> data, so the use of Proj4J dependency implies accepting EPSG terms of 
> use [1]. PROJ claims to be under MIT license, but in my understanding 
> this is copyright infringement. PROJ license should be MIT + EPSG terms 
> of use.
> 
> EPSG terms of use is a Category X license for Apache. The use of EPSG 
> data has been discussed in Apache Legal [2][3]. The conclusion was that 
> an Apache project can include EPSG data if they are optional (i.e. the 
> application can still do useful work without them), the main release 
> does not contain them, and the data are available in a separated 
> download prominently labelled as under a more restrictive license than 
> Apache.
> 
> [1]https://epsg.org/terms-of-use.html
>
> [2]https://issues.apache.org/jira/browse/LEGAL-183
>
> [3]https://issues.apache.org/jira/browse/LEGAL-347
>




Am Freitag, dem 18.11.2022 um 22:27 +0100 schrieb Florian Micklich:
> Hi,<br>
> 
> the basic sis implementation is done :)<br>
> I created a pull request [1] and happy about any feedback.<br>
> 
> 
> Form the fallback options I created this ticket [2]<br>
> 
> Florian<br>
> 
> [1] [https://github.com/apache/streampipes/pull/146](https://github.com/apache/streampipes/pull/146)<br>
> [2]  [https://issues.apache.org/jira/browse/STREAMPIPES-638](https://issues.apache.org/jira/browse/STREAMPIPES-638)<br>
> 
> 
> Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian Micklich:<br>
> > Hi,<br><br>
> > 
> > I updated the Jira Ticket and described the setup little bit more.<br><br>
> > If my intellij is working I can run some last tests on the base implementation.<br><br>
> > 
> > My thoughts for the setup implementation:<br><br>
> > 
> > The setup could be visible in the Configuration -> Pipeline Element Configuration and if the service is available due correct setup and scripts import.<br><br>
> > (see picture in jira ticket <br><br>
> > 
> > 
> > To have still a plug and play system by default, we could implement a "fallback" projection system with a limited EPSG Codes.<br><br>
> > Therefore we could use  proj4j [2].<br><br>
> > So for example we allow the user to select just a bunch of valid codes from a list somewhere.<br><br>
> > 
> > 
> > [1] [[https://github.com/locationtech/proj4j](https://github.com/locationtech/proj4j)](https://github.com/locationtech/proj4j](https://github.com/locationtech/proj4j))<br><br>
> > 
> > What do you think?<br><br>
> > Greetings<br><br>
> > Florian<br><br>
> > 
> > Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian Micklich:<br><br>> 
> > > Hi Philipp,<br><br><br>
> > > 
> > > ok, maybe we can have a deeper discussion next week.<br><br><br>
> > > I am on vacation this week without computer  :)<br><br><br>
> > > 
> > > With dataSource I mean the "Registration by Java code" as describet here [1].<br><br><br>
> > > I startet to write that code yesterday but was not able to check it due another issue.<br><br><br>
> > > 
> > > Florian<br><br><br>
> > > 
> > > 
> > > [1] [[[https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html)](https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html))](https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html)](https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html)))<br><br><br>
> > > 
> > > 
> > > ⁣BlueMail for Android herunterladen ​<br><br><br>
> > > 
> > > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <[[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai))](mailto:[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)))> schrieb:<br><br>> <br>> > 
> > > > Hi Florian,<br><br><br>
> > > > 
> > > > thanks for opening the issue.<br><br><br>
> > > > I really like the illustration, something like this would also be great<br><br><br>
> > > > for the documentation of the processing elements.<br><br><br>
> > > > 
> > > > As for the workflow, I'm not quite sure how we can handle that. Because<br><br><br>
> > > > so far, the idea is that the system is plug and play.<br><br><br>
> > > > The normal ‘user’ should not have to configure things on the system<br><br><br>
> > > > before it is used.<br><br><br>
> > > > My suggestion would be to have a separate service that can optionally<br><br><br>
> > > > be integrated by manually adding it to the docker-compose.<br><br><br>
> > > > In this docker service a volume mapping would be required. If the files<br><br><br>
> > > > are missing a message should be printed to the logs.<br><br><br>
> > > > 
> > > > What do you mean by connection source?<br><br><br>
> > > > 
> > > > Cheers,<br><br><br>
> > > > Philipp<br><br><br>
> > > > 
> > > > 
> > > > 
> > > > Von: Florian Micklich <[[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID))](mailto:[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)))><br><br><br>
> > > > Datum: Sonntag, 18. September 2022 um 12:44<br><br><br>
> > > > An: dev <[[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org))](mailto:[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)))><br><br><br>
> > > > Betreff: [DISCUSS] Setup for Coordinate Reference System Reprojection<br><br><br>
> > > > Sources<br><br><br>
> > > > Hi everybody,<br><br><br>
> > > > 
> > > > I created a Ticket [1] to implement projection handling for geo<br><br><br>
> > > > operations.<br><br><br>
> > > > 
> > > > User case.:<br><br><br>
> > > > 
> > > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).<br><br><br>
> > > > With meter you can do calculations , which needs a metric Unit system<br><br><br>
> > > > e.g. area calculation, everything with distance and so on.<br><br><br>
> > > > 
> > > > I also added a short wortkflow picture for better understanding and a<br><br><br>
> > > > docker-compose file for SP Service.<br><br><br>
> > > > 
> > > > While I am working on the processor itself, I have a couple of<br><br><br>
> > > > questions and would need support for implementing everything in the the<br><br><br>
> > > > SP UI and discuss best ways how to set up!<br><br><br>
> > > > 
> > > > Any ideas or questions?<br><br><br>
> > > > 
> > > > Greetings<br><br><br>
> > > > Florian<br><br><br>
> > > > 
> > > > [1] [[[https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)](https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584))](https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)](https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)))<br><br><br>

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <mi...@apache.org>.
Hi,

the basic sis implementation is done :)
I created a pull request [1] and happy about any feedback.


Form the fallback options I created this ticket [2]

Florian

[1] https://github.com/apache/streampipes/pull/146
[2]  https://issues.apache.org/jira/browse/STREAMPIPES-638


Am Montag, dem 31.10.2022 um 13:23 +0100 schrieb Florian Micklich:
> Hi,<br>
> 
> I updated the Jira Ticket and described the setup little bit more.<br>
> If my intellij is working I can run some last tests on the base implementation.<br>
> 
> My thoughts for the setup implementation:<br>
> 
> The setup could be visible in the Configuration -> Pipeline Element Configuration and if the service is available due correct setup and scripts import.<br>
> (see picture in jira ticket <br>
> 
> 
> To have still a plug and play system by default, we could implement a "fallback" projection system with a limited EPSG Codes.<br>
> Therefore we could use  proj4j [2].<br>
> So for example we allow the user to select just a bunch of valid codes from a list somewhere.<br>
> 
> 
> [1] [https://github.com/locationtech/proj4j](https://github.com/locationtech/proj4j)<br>
> 
> What do you think?<br>
> Greetings<br>
> Florian<br>
> 
> Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian Micklich:<br>
> > Hi Philipp,<br><br>
> > 
> > ok, maybe we can have a deeper discussion next week.<br><br>
> > I am on vacation this week without computer  :)<br><br>
> > 
> > With dataSource I mean the "Registration by Java code" as describet here [1].<br><br>
> > I startet to write that code yesterday but was not able to check it due another issue.<br><br>
> > 
> > Florian<br><br>
> > 
> > 
> > [1] [[https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html)](https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html))<br><br>
> > 
> > 
> > ⁣BlueMail for Android herunterladen ​<br><br>
> > 
> > Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <[[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)](mailto:[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai))> schrieb:<br><br>> 
> > > Hi Florian,<br><br>
> > > 
> > > thanks for opening the issue.<br><br>
> > > I really like the illustration, something like this would also be great<br><br>
> > > for the documentation of the processing elements.<br><br>
> > > 
> > > As for the workflow, I'm not quite sure how we can handle that. Because<br><br>
> > > so far, the idea is that the system is plug and play.<br><br>
> > > The normal ‘user’ should not have to configure things on the system<br><br>
> > > before it is used.<br><br>
> > > My suggestion would be to have a separate service that can optionally<br><br>
> > > be integrated by manually adding it to the docker-compose.<br><br>
> > > In this docker service a volume mapping would be required. If the files<br><br>
> > > are missing a message should be printed to the logs.<br><br>
> > > 
> > > What do you mean by connection source?<br><br>
> > > 
> > > Cheers,<br><br>
> > > Philipp<br><br>
> > > 
> > > 
> > > 
> > > Von: Florian Micklich <[[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)](mailto:[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID))><br><br>
> > > Datum: Sonntag, 18. September 2022 um 12:44<br><br>
> > > An: dev <[[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)](mailto:[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org))><br><br>
> > > Betreff: [DISCUSS] Setup for Coordinate Reference System Reprojection<br><br>
> > > Sources<br><br>
> > > Hi everybody,<br><br>
> > > 
> > > I created a Ticket [1] to implement projection handling for geo<br><br>
> > > operations.<br><br>
> > > 
> > > User case.:<br><br>
> > > 
> > > Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).<br><br>
> > > With meter you can do calculations , which needs a metric Unit system<br><br>
> > > e.g. area calculation, everything with distance and so on.<br><br>
> > > 
> > > I also added a short wortkflow picture for better understanding and a<br><br>
> > > docker-compose file for SP Service.<br><br>
> > > 
> > > While I am working on the processor itself, I have a couple of<br><br>
> > > questions and would need support for implementing everything in the the<br><br>
> > > SP UI and discuss best ways how to set up!<br><br>
> > > 
> > > Any ideas or questions?<br><br>
> > > 
> > > Greetings<br><br>
> > > Florian<br><br>
> > > 
> > > [1] [[https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)](https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584))<br><br>

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <mi...@apache.org>.
Hi,

I updated the Jira Ticket and described the setup little bit more.
If my intellij is working I can run some last tests on the base implementation.

My thoughts for the setup implementation:

The setup could be visible in the Configuration -> Pipeline Element Configuration and if the service is available due correct setup and scripts import.
(see picture in jira ticket 


To have still a plug and play system by default, we could implement a "fallback" projection system with a limited EPSG Codes.
Therefore we could use  proj4j [2].
So for example we allow the user to select just a bunch of valid codes from a list somewhere.


[1] https://github.com/locationtech/proj4j

What do you think?
Greetings
Florian

Am Montag, dem 19.09.2022 um 10:18 +0200 schrieb Florian Micklich:
> Hi Philipp,<br>
> 
> ok, maybe we can have a deeper discussion next week.<br>
> I am on vacation this week without computer  :)<br>
> 
> With dataSource I mean the "Registration by Java code" as describet here [1].<br>
> I startet to write that code yesterday but was not able to check it due another issue.<br>
> 
> Florian<br>
> 
> 
> [1] [https://sis.apache.org/epsg.html](https://sis.apache.org/epsg.html)<br>
> 
> 
> ⁣BlueMail for Android herunterladen ​<br>
> 
> Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <[philipp.zehnder@bytefabrik.ai](mailto:philipp.zehnder@bytefabrik.ai)> schrieb:<br>
> > Hi Florian,<br>
> > 
> > thanks for opening the issue.<br>
> > I really like the illustration, something like this would also be great<br>
> > for the documentation of the processing elements.<br>
> > 
> > As for the workflow, I'm not quite sure how we can handle that. Because<br>
> > so far, the idea is that the system is plug and play.<br>
> > The normal ‘user’ should not have to configure things on the system<br>
> > before it is used.<br>
> > My suggestion would be to have a separate service that can optionally<br>
> > be integrated by manually adding it to the docker-compose.<br>
> > In this docker service a volume mapping would be required. If the files<br>
> > are missing a message should be printed to the logs.<br>
> > 
> > What do you mean by connection source?<br>
> > 
> > Cheers,<br>
> > Philipp<br>
> > 
> > 
> > 
> > Von: Florian Micklich <[florian.micklich@mailbox.org.INVALID](mailto:florian.micklich@mailbox.org.INVALID)><br>
> > Datum: Sonntag, 18. September 2022 um 12:44<br>
> > An: dev <[dev@streampipes.apache.org](mailto:dev@streampipes.apache.org)><br>
> > Betreff: [DISCUSS] Setup for Coordinate Reference System Reprojection<br>
> > Sources<br>
> > Hi everybody,<br>
> > 
> > I created a Ticket [1] to implement projection handling for geo<br>
> > operations.<br>
> > 
> > User case.:<br>
> > 
> > Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).<br>
> > With meter you can do calculations , which needs a metric Unit system<br>
> > e.g. area calculation, everything with distance and so on.<br>
> > 
> > I also added a short wortkflow picture for better understanding and a<br>
> > docker-compose file for SP Service.<br>
> > 
> > While I am working on the processor itself, I have a couple of<br>
> > questions and would need support for implementing everything in the the<br>
> > SP UI and discuss best ways how to set up!<br>
> > 
> > Any ideas or questions?<br>
> > 
> > Greetings<br>
> > Florian<br>
> > 
> > [1] [https://issues.apache.org/jira/browse/STREAMPIPES-584](https://issues.apache.org/jira/browse/STREAMPIPES-584)<br>

Re: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Florian Micklich <fl...@mailbox.org.INVALID>.
Hi Philipp,

ok, maybe we can have a deeper discussion next week.
I am on vacation this week without computer  :)

With dataSource I mean the "Registration by Java code" as describet here [1].
I startet to write that code yesterday but was not able to check it due another issue.

Florian


[1] https://sis.apache.org/epsg.html


⁣BlueMail for Android herunterladen ​

Am 19. Sept. 2022, 07:23, um 07:23, Philipp Zehnder <ph...@bytefabrik.ai> schrieb:
>Hi Florian,
>
>thanks for opening the issue.
>I really like the illustration, something like this would also be great
>for the documentation of the processing elements.
>
>As for the workflow, I'm not quite sure how we can handle that. Because
>so far, the idea is that the system is plug and play.
>The normal ‘user’ should not have to configure things on the system
>before it is used.
>My suggestion would be to have a separate service that can optionally
>be integrated by manually adding it to the docker-compose.
>In this docker service a volume mapping would be required. If the files
>are missing a message should be printed to the logs.
>
>What do you mean by connection source?
>
>Cheers,
>Philipp
>
>
>
>Von: Florian Micklich <fl...@mailbox.org.INVALID>
>Datum: Sonntag, 18. September 2022 um 12:44
>An: dev <de...@streampipes.apache.org>
>Betreff: [DISCUSS] Setup for Coordinate Reference System Reprojection
>Sources
>Hi everybody,
>
>I created a Ticket [1] to implement projection handling for geo
>operations.
>
>User case.:
>
>Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).
>With meter you can do calculations , which needs a metric Unit system
>e.g. area calculation, everything with distance and so on.
>
>I also added a short wortkflow picture for better understanding and a
>docker-compose file for SP Service.
>
>While I am working on the processor itself, I have a couple of
>questions and would need support for implementing everything in the the
>SP UI and discuss best ways how to set up!
>
>Any ideas or questions?
>
>Greetings
>Florian
>
>[1] https://issues.apache.org/jira/browse/STREAMPIPES-584

AW: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources

Posted by Philipp Zehnder <ph...@bytefabrik.ai>.
Hi Florian,

thanks for opening the issue.
I really like the illustration, something like this would also be great for the documentation of the processing elements.

As for the workflow, I'm not quite sure how we can handle that. Because so far, the idea is that the system is plug and play.
The normal ‘user’ should not have to configure things on the system before it is used.
My suggestion would be to have a separate service that can optionally be integrated by manually adding it to the docker-compose.
In this docker service a volume mapping would be required. If the files are missing a message should be printed to the logs.

What do you mean by connection source?

Cheers,
Philipp



Von: Florian Micklich <fl...@mailbox.org.INVALID>
Datum: Sonntag, 18. September 2022 um 12:44
An: dev <de...@streampipes.apache.org>
Betreff: [DISCUSS] Setup for Coordinate Reference System Reprojection Sources
Hi everybody,

I created a Ticket [1] to implement projection handling for geo
operations.

User case.:

Reproject betwwen WGS84 (with units Degree) to UTM (Unit meter).
With meter you can do calculations , which needs a metric Unit system
e.g. area calculation, everything with distance and so on.

I also added a short wortkflow picture for better understanding and a
docker-compose file for SP Service.

While I am working on the processor itself, I have a couple of
questions and would need support for implementing everything in the the
SP UI and discuss best ways how to set up!

Any ideas or questions?

Greetings
Florian

[1] https://issues.apache.org/jira/browse/STREAMPIPES-584