NASAWorldWind / WorldWindJava

The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
714 stars 324 forks source link

Community Edition #81

Open wcmatthysen opened 7 years ago

wcmatthysen commented 7 years ago

There is a need for a community edition of WorldWind. This will essentially be a community-managed fork that incorporates pull requests not belonging in the stable upstream version, but still being useful enough to the community that it should be maintained and kept up-to-date. See the discussion at pull-request #77 for some background on this.

quonn77 commented 7 years ago

I agree with you, there is a lot of work that risk to be abandoned. I have improvement for handling HTTP Redirection, drawing ground line for air track, increase detail rendering of 2D maps so it would be nice to have a common shared community fork where all those improvements could be available. If I can help, I am available.

wcmatthysen commented 7 years ago

Good, I think we need a lot of people on-board to get the community-edition going. But, first we have to wait for the NASA guys to post the community contribution guidelines (this was mentioned in pull-request #77). The pull-request labels will be needed to determine what pull-requests are fit for the community-fork. In your case, you would probably have to then create pull-requests for the various additions in this repository. If it should go to the community-fork the NASA guys will then mark it with a label "community-edition" (or whatever label is decided) where it will then be picked up by the community-fork owners and merged into that repository.

quonn77 commented 7 years ago

I believe, as already stated on the pull-request-77 that the community fork needs some members of the board from the NASA Team so we can better coordinate integration of derivative work into stable nwwj product.

pdavidc commented 7 years ago

@wcmatthysen Thanks for opening a dedicated issue for this discussion.

The NASA team is certainly on board with a coordinated community fork. We're very busy at the moment working on sponsored feature deliverables for the Android and Web SDKs, but have this on our Kanban board to address as soon as we can.

wcmatthysen commented 7 years ago

@pdavidc Any news? Would love to get started working on this.

pdavidc commented 7 years ago

Thanks for your patience. We haven't forgotten about this need. It's on our backlog of tasks to address after we finish our current round of sponsor-requested features.

wcmatthysen commented 5 years ago

I think a community edition is now more relevant than ever (just my 2 cents).

quonn77 commented 5 years ago

I agree, it is time to create the community edition of Nasa World Wind. What is not clear is we are allowed to do this without a prior authorization by NASA.

Il giorno ven 5 apr 2019 alle ore 10:30 Wiehann Matthysen < notifications@github.com> ha scritto:

I think a community edition is now more relevant than ever (just my 2 cents).

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480193061, or mute the thread https://github.com/notifications/unsubscribe-auth/AJYth0mZEWRCN7WqCRs4NHji29B_bcq6ks5vdwmbgaJpZM4Ldu1G .

wcmatthysen commented 5 years ago

We do not need NASA's permission as far as I understand. It is open-source after all. We can just fork it and go our separate ways. It would be great to get their blessing though.

wcmatthysen commented 5 years ago

I see there is already an official community fork for WebWorldWind. Maybe we can reach out to @emxsys to host the community edition of WorldWindJava under the WorldWindEarth banner as well.

arihunta commented 5 years ago

Sounds good--I somehow totally missed the announcement of the suspension of the WorldWind projects.

I'd be happy to lend a hand if there's anything needed to get this initiative off the ground.

caller commented 5 years ago

perfect. we would be in as well. we have quite some potential contribution, (e.g. javaFX port) but since nasa was too refusive on merging anything, we gave up.

wcmatthysen commented 5 years ago

I think we should set up a rough road-map of what we want to accomplish. I would personally like to switch the project's build system over to Maven (or Gradle for that matter) instead of the clunky, archaic way that they have built the project using Ant. I have managed to do that in my own fork of the project, so it can be done with a bit of effort. I think the JavaFX additions would be great seeing as that is where everything is moving towards nowadays. We could probably go through the current pull request list and merge a lot of the useful ones into our own version. Bug-fixes should take priority. We can also focus some effort on modernising the project by introducing some Java 8 features as we go along.

I don't know how we can increase the visibility on this issue, seeing as it is quite old. It doesn't show up at the top of the issue-list on the project's GitHub page. We need to get the word out to as many other people that are interested as possible or this is not going to take off. I tried to get the fork going a year or two ago but no-one was really interested. You can see my post here on the forums as well (it never got any real traction).

wcmatthysen commented 5 years ago

I think two pull requests that we should already consider a priority is the JOGL upgrade (see pull-request #1) and the GDAL upgrade (see pull-request #146). I mean the JOGL pull request has been waiting for a merge now for over 3 years.

wcmatthysen commented 5 years ago

These pull-requests: #18, #19, #30, #138, #139 that are bug-fixes have also been unmerged for roughly 2 to 3 years now. Not to mention the more recent pull-requests such as #150 and #157 that should probably be inspected and merged.

kotogadekiru commented 5 years ago

A community edition with an updated design would be great, count me in for what is worth. I think a javafx por would be great. I don't know if a javafx version would use jogl. Also maven would be great! If someone builds it, we will follow :) Cheers, Tomas Lund Petersen

El vie., 5 abr. 2019 09:14, Wiehann Matthysen notifications@github.com escribió:

I think two pull requests that I would already consider a priority is the JOGL upgrade (see issue #1 https://github.com/NASAWorldWind/WorldWindJava/pull/1) and the GDAL upgrade (see issue #146 https://github.com/NASAWorldWind/WorldWindJava/pull/146).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480253581, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYAATm6AVFSIWtjxkep1s_xuWHjdeks5vdz4qgaJpZM4Ldu1G .

wcmatthysen commented 5 years ago

A community edition with an updated design would be great, count me in for what is worth. I think a javafx por would be great. I don't know if a javafx version would use jogl. Also maven would be great! If someone builds it, we will follow :) Cheers, Tomas Lund Petersen El vie., 5 abr. 2019 09:14, Wiehann Matthysen notifications@github.com escribió: I think two pull requests that I would already consider a priority is the JOGL upgrade (see issue #1 <#1>) and the GDAL upgrade (see issue #146 <#146>). — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#81 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYAATm6AVFSIWtjxkep1s_xuWHjdeks5vdz4qgaJpZM4Ldu1G .

Not sure about the JavaFX port either. I know that JavaFX has its own 3D API. I haven't personally worked with it. I am not sure whether work has already been done to port WorldWind to run in JavaFX. But any contributions with respect to that would be a welcome addition to the community edition. I know it can at least be embedded in a SwingNode and displayed in a JavaFX application (but that is different than porting it to JavaFX's 3D API).

I think we should just find a proper home for this project. It would probably be best if it lives alongside the other community editions, hence the reason I mentioned Bruce Schubert's (@emxsys) community fork of WebWorldWind.

kotogadekiru commented 5 years ago

I also think we should concentrate on providing replacement for the basemap layers that point to the nasa servers that are going down may 4rth. Bing aereal, sentinel2, places and roads seems to me te most importants. I guess elevations would be important to some people also. Cheers, Tomas

El vie., 5 abr. 2019 09:33, Tomas Lund Petersen kotogadekiru@gmail.com escribió:

A community edition with an updated design would be great, count me in for what is worth. I think a javafx por would be great. I don't know if a javafx version would use jogl. Also maven would be great! If someone builds it, we will follow :) Cheers, Tomas Lund Petersen

El vie., 5 abr. 2019 09:14, Wiehann Matthysen notifications@github.com escribió:

I think two pull requests that I would already consider a priority is the JOGL upgrade (see issue #1 https://github.com/NASAWorldWind/WorldWindJava/pull/1) and the GDAL upgrade (see issue #146 https://github.com/NASAWorldWind/WorldWindJava/pull/146).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480253581, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYAATm6AVFSIWtjxkep1s_xuWHjdeks5vdz4qgaJpZM4Ldu1G .

wcmatthysen commented 5 years ago

I also think we should concentrate on providing replacement for the basemap layers that point to the nasa servers that are going down may 4rth. Bing aereal, sentinel2, places and roads seems to me te most importants. I guess elevations would be important to some people also. Cheers, Tomas El vie., 5 abr. 2019 09:33, Tomas Lund Petersen kotogadekiru@gmail.com escribió: A community edition with an updated design would be great, count me in for what is worth. I think a javafx por would be great. I don't know if a javafx version would use jogl. Also maven would be great! If someone builds it, we will follow :) Cheers, Tomas Lund Petersen El vie., 5 abr. 2019 09:14, Wiehann Matthysen @.***> escribió: > I think two pull requests that I would already consider a priority is the > JOGL upgrade (see issue #1 > <#1>) and the GDAL > upgrade (see issue #146 > <#146>). > > — > You are receiving this because you are subscribed to this thread. > Reply to this email directly, view it on GitHub > <#81 (comment)>, > or mute the thread > https://github.com/notifications/unsubscribe-auth/AB_pYAATm6AVFSIWtjxkep1s_xuWHjdeks5vdz4qgaJpZM4Ldu1G > . >

Yes, I think that is also important. I have a Sentinel2 layer configuration file that I can share to replace the LandSat layer. It connects directly to the EOX::Maps server to get the s2cloudless layer. I don't know about an OpenStreetMap layer that we can use. Maybe we can get a layer from EOX::Maps as well. The elevation data is very important. I don't know if the NASA guys have made any plans to host it somewhere else. It would be nice to at least get some info on how to setup and host the data ourselves.

arihunta commented 5 years ago

Again, all sounds good. Merging in pull request #1, a Gradle build, and alternative base layers would all be great. Not so sure about JavaFX, both because of OpenGL issues, and its exclusion from future JDKs, but I'm not too clued up on that stuff. Might be best to make anything that relies on JavaFX a separate optional module?

As for visibility, it might be worth bumping your original thread in the forum, and posting on this one as well: https://forum.worldwindcentral.com/forum/world-wind-community/worldwind-general/158839-worldwind-suspension.

Though, once a home for this project has been found then issues/features can be decided upon & tracked there, and that location can be advertised. Probably worth dropping @emxsys an e-mail to get his thoughts, if he hasn't already gotten notifications from being tagged here, and then moving forward from there.

caller commented 5 years ago

so our JavaFX port works in parallel to the Swing components. so no issue. it also uses openGL. we also have our own jogl and GDAL patches.... as probably most of you. and we are also on maven... we even have tried to file fundamentaly bugs like a math bug in matrix determinant computation... and they havent picked it...

caller commented 5 years ago

https://github.com/NASAWorldWind/WorldWindJava/issues/155

kotogadekiru commented 5 years ago

So is this version available? Id like to give it a try. Where can i get a hold of it? Tks, Tomas

El vie., 5 abr. 2019 10:21, caller notifications@github.com escribió:

155 https://github.com/NASAWorldWind/WorldWindJava/issues/155

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480272861, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYEgSSCIEyc3zlZ0If9En71hMESd7ks5vd03LgaJpZM4Ldu1G .

quonn77 commented 5 years ago

Yes I think that we need to create separated module of the Nasa World Wind SDK, isolating math-projection library, common utility to the core features

quonn77 commented 5 years ago

So which are the next steps? Some one has get in touch with Bruce Schubert's?

caller commented 5 years ago

we havent polished our javaFX version jet for release... that might take some weeks in our processes. I might also need mgmt approval. Im working for a quite big company ;-)

wcmatthysen commented 5 years ago

Again, all sounds good. Merging in pull request #1, a Gradle build, and alternative base layers would all be great. Not so sure about JavaFX, both because of OpenGL issues, and its exclusion from future JDKs, but I'm not too clued up on that stuff. Might be best to make anything that relies on JavaFX a separate optional module?

As for visibility, it might be worth bumping your original thread in the forum, and posting on this one as well: https://forum.worldwindcentral.com/forum/world-wind-community/worldwind-general/158839-worldwind-suspension.

Though, once a home for this project has been found then issues/features can be decided upon & tracked there, and that location can be advertised. Probably worth dropping @emxsys an e-mail to get his thoughts, if he hasn't already gotten notifications from being tagged here, and then moving forward from there.

I bumped some threads in the forum. I think Bruce Schubert would probably be notified via GitHub as a result of all the mentions. I'll email him too just in case.

caller commented 5 years ago

more things I might have for sharing:

quonn77 commented 5 years ago

I have added support for DXF (Autocad) and MapBox

kotogadekiru commented 5 years ago

I found this new server for the image layers to wich we could all switch i think. https://worldwind.earth/explorer https://worldwind.earth/explorer Also id like to bring to notice that the date for the black out has been moved from april 9th to may 3rd.

El vie., 5 abr. 2019 10:33, Alessio Iannone notifications@github.com escribió:

I have added support for DXF (Autocad) and MapBox

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480276828, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYKRVnyde5moy8mJv0vurchDGSNhGks5vd1CYgaJpZM4Ldu1G .

wcmatthysen commented 5 years ago

Yes I think that we need to create separated module of the Nasa World Wind SDK, isolating math-projection library, common utility to the core features

I think that is a great idea. I mentioned it in issue #29 back in the day (though it got shot down). The idea of a WorldWindCore project would be very practical. It could contain all of the common classes such as math and geo-related classes. Then, the Android version could also depend on it and not have duplicated code in its code-base.

Speaking of the Android version. Anyone interested in getting a community for for that going as well? Or would it form part of this effort?

caller commented 5 years ago

maybe I am interested in android as well... not sure jet

caller commented 5 years ago

we where thinking on getting the android version running on iOS as well via gluon framework and porting things to openGL ES.... together with WorldWind Core this would make a true cross platform java globe .. anyone interested? we havent started jet... only played a bit

kotogadekiru commented 5 years ago

Having precence in android is a goal to.me too.

El vie., 5 abr. 2019 10:44, caller notifications@github.com escribió:

we where thinking on getting the android version running on iOS as well via gluon framework and porting things to openGL ES.... together with WorldWind Core this would make a true cross platform java globe .. anyone interested? we havent started jet... only played a bit

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NASAWorldWind/WorldWindJava/issues/81#issuecomment-480280438, or mute the thread https://github.com/notifications/unsubscribe-auth/AB_pYMCp55Jpv5za2SI0gD2LlO3xKehTks5vd1MrgaJpZM4Ldu1G .

PJHogan commented 5 years ago

Bruce Schubert has established the 'official' fork of Web WorldWind that does incorporate the code improvements that NASA has not yet joined into the main branch.

https://www.linkedin.com/in/bdschubert/

https://github.com/WorldWindEarth

Plus he has written up the 'recipe' for setting up a server with the elevation data. It would be good to have a few redundant sources for that.

Bruce is also working on a JSON file that would not require a recompile for WorldWind to recognize the available servers whenever that might change, allowing for it to be continually and easily updated.

Patrick Hogan, Former WorldWind PM https://www.linkedin.com/in/phogan/

wcmatthysen commented 5 years ago

Bruce mentioned these links regarding alternative servers for imagery and elevation:

https://worldwind.earth/#nasa-worldwind-project-suspension https://worldwind.earth/elevation-server.html https://worldwind.earth/elevation-data.html

Also check:

https://gist.github.com/emxsys/f8c7a8dd5cf0060387ce50aa3f186bac https://gist.github.com/emxsys/e3eac29221eec86d1d42525517acb3ad

mainstringargs commented 5 years ago

Just getting up to speed on this -- does this fork already exist? I love what you guys are thinking. Having JavaFX capability but also keeping the Swing parts working would be perfect.

Some other good (free) WMS layers are available here:

https://developer.earthdata.nasa.gov/gibs/gibs-api-for-developers

Although it requires updating the WMSTiledImageLayer to capitalize the url query parameters:

https://github.com/nasa/World-Wind-Java/blob/7c9886ab67ac03d53bdb04f161b9605d3f3dd810/WorldWind/src/gov/nasa/worldwind/wms/WMSTiledImageLayer.java#L189

mainstringargs commented 5 years ago

And I vote for gradle

PJHogan commented 5 years ago

A community-driven WorldWindJava, WWJ, fork does not exist to my knowledge.

Except within a few federal agencies carrying it forward for their purposes. As for the server with the elevation data, there are good efforts already underwayby the WorldWindCentral crew, and Bruce Schubert's WorldWind.Earth activity

https://forum.worldwindcentral.com/ https://worldwind.earth/ https://worldwind.earth/elevation-server.html https://worldwind.earth/elevation-data.html https://gist.github.com/emxsys/f8c7a8dd5cf0060387ce50aa3f186bac https://gist.github.com/emxsys/e3eac29221eec86d1d42525517acb3ad

wcmatthysen commented 5 years ago

Bruce got back to me and mentioned that we can host the Java version of the community-fork on WorldWindEarth (that is: https://github.com/WorldWindEarth).

PJHogan commented 5 years ago

WoW!  Couldn't have found a better home away from home! Looking forward to a gorgeous community complex!

PJHogan commented 5 years ago

NASA Ames Research Center, where the WorldWind project has been continuously hosted since 2002 had proposed a suspension of the project, but the kick-back from other Federal agencies 'encouraged' a reconsideration. So NASA is back-in-the-saddle with regard to the WorldWind project. The suspension has now been 'suspended' for a month (until May 3), but it will likely stay alive and well ad infinitum. That is not to suggest the community should not take this opportunity to accelerate this technology 'to infinity and beyond!' Controlling our own destiny so to speak, with a community effort at a global scale. This will be beautiful, and show what's possible when working in concert 'for the benefit of all.'

wcmatthysen commented 5 years ago

@PJHogan, I agree. I think we should go forward with a community-fork irrespective of the suspension (or the suspension of the suspension). That is, if we can get a community fork going. A community fork could be very fruitful in my opinion in the long run, seeing as there are a lot of developers using WorldWind and benefiting from its continued development (myself included). I also pick up that there are developers that are very willing to contribute code-changes to WorldWind, but the way in which pull-requests and bug-fixes on this project has been managed the last couple of years has been very frustrating to say the least. That is not to say that myself and everyone using WorldWind are very grateful towards NASA and its developers for releasing WorldWind as an open-source project. I just think that going forward, the fork itself should be lead by the community.

PJHogan commented 5 years ago

Wiehann, of course! And I think forks can also feed each other. :~} Bruce has generously offered to host ^it^ at https://github.com/WorldWindEarth/ I think that would do a lot to focus the community effort in making this thing really go!

emxsys commented 5 years ago

@wcmatthysen I'm ready to move forward. I can create the WorldWindJava fork with issue tracker, and a "WorldWindJava" team within the WorldWindEarth GitHub organization.

emxsys commented 5 years ago

For consideration: https://opensource.guide/leadership-and-governance/

wcmatthysen commented 5 years ago

@emxsys Great, let's do it. I would love to help out where I can. I don't know exactly where I'll fit in, but I'd like to contribute some of my code and help with the ongoing maintenance of the code-base. Thanks for the link on the opensource leadership and governance.

PJHogan commented 5 years ago

Wahoo! WorldWind Java, WWJ, going from world-class to global-class! Android can't be far behind!

caller commented 5 years ago

Hi Patrick,

Just to clarify: nasa will host tile servers but they will probably stop writing new code. Is that a correct summary?

I have seen some NASA ESA collaborations on WW over the years. Do you know the status of the ESA engagement?

Thx Marco

PJHogan commented 5 years ago

Marco, I can only read the tea leaves, but my sense is that NASA got a wake-up call and so will continue to develop WorldWind, particularly the web version, especially given ESA has been coordinating with NASA on that development for a few years now. And the ESA contribution has been HUGE!

Unfortunately, the NASA 'official' numbered releases have been quite slow-on-the-draw (branches of the repository have many capabilities waiting for an 'official' release). FORTUNATELY https://worldwind.earth/ incorporates these, along with other 'select' contributions and bug fixes from the community.

And I believe the ESA Copernicus Sentinel apps are also pulling from there: https://itunes.apple.com/us/app/copernicus-sentinel/id1036738151 https://play.google.com/store/apps/details?id=it.acsys.android.esaersapp

So, my reading is that the ESA+NASA joint effort will continue. But if you want the best of that, now and to come, it's here, https://github.com/WorldWindEarth/