GithubHelp home page GithubHelp logo

Register package? about geographiclib.jl HOT 12 OPEN

anowacki avatar anowacki commented on July 17, 2024 3
Register package?

from geographiclib.jl.

Comments (12)

anowacki avatar anowacki commented on July 17, 2024 2

@adigitoleo as you point out, geodesic calculations are already possible via the libraries included with Proj.jl, so there has always been the possibility of calling Charles Karney's routines via ccall.

The main person who has been working on bringing geodesic distance calculations into Geodesy.jl was me, so I don't think there is too much risk of that happening separately from the effort mentioned in the linked discussion above.

The benefits of creating a pure-Julia solution I think slightly outweigh the downsides, and I also like the idea of moving away from the C/Python interfaces in GeographicLib.

For this purpose it will be useful to have the distance and forward/inverse calculations whereas I probably won't need the rest of Geodesy.jl

It's for this sort of thing that I wanted to create a geodesic distance package. Not wrapping Proj or GeographicLib directly I think would be helpful rather than a hindrance, since any of your custom number types would work and you can choose how accurate versus fast you want the calculations to be. So hopefully an updated GeoDistances.jl (or whatever) will be useful.

from geographiclib.jl.

disberd avatar disberd commented on July 17, 2024

I am commenting just to bump up, but it will be really convenient to have this packages in the General registry

from geographiclib.jl.

anowacki avatar anowacki commented on July 17, 2024

Apologies not have responded to this before—for some reason I missed that this issue had been created.

I'm not completely averse to registering this port of GeographicLib, but the reasons I haven't yet are mainly that I have planned for a long time to include the functionality in Geodesy. I also am not really completely satisfied with the port, since much of the code is not at all idiomatic Julia.

That said, I am open to persuasion and I can see some utility in having a registered GeographicLib port available for those who don't want to use Geodesy.

from geographiclib.jl.

tclements avatar tclements commented on July 17, 2024

Looking back through JuliaGeo/Geodesy.jl#40, I like @c42f's suggestions to include forward and inverse calculations between two points into Geodesy.jl and giving those methods more specific names (geodesic_distance?). Including the line and polygon methods (great work!) from GeographicLib into Geodesics will probably need further discussion, as that would expand the scope of the Geodesics from working with points.

from geographiclib.jl.

anowacki avatar anowacki commented on July 17, 2024

I am minded to add the functionality of this package to Geodesics.jl and register that instead. Comments and suggestions welcome.

from geographiclib.jl.

adigitoleo avatar adigitoleo commented on July 17, 2024

I'm hesitant to mention this because I don't know how quickly it will happen, but I'm thinking of implementing (tele)seismic ray tracing in Julia, probably for 1D models (SeisModels) first. For this purpose it will be useful to have the distance and forward/inverse calculations whereas I probably won't need the rest of Geodesy.jl

However, it could make things confusing if the Julia Proj package is revived or merged with Geodesy.jl. The original GeographicLib also implements the transformations from what I understand, so I would avoid that name in this case. Is there other functionality planned for the merged pagkage outside of what GeodSolve does?

Another idea: How about just wrapping the original GeographicLib with some ccalls? I'm aware of Proj4.jl, but perhaps maintaining a smaller wrapper library would be more feasible. The frontend could be made more Julian (like you've done with GeographicLib). Or does diverging from the original GeographicLib make sense?

from geographiclib.jl.

adigitoleo avatar adigitoleo commented on July 17, 2024

Looks like the JLL is already there: JuliaPackaging/Yggdrasil#3587

As well as another one which seems focused on wrapping gravity/magnetic models API: JuliaPackaging/Yggdrasil#3590

Used by https://github.com/twadleigh/GeographicModels.jl

from geographiclib.jl.

adigitoleo avatar adigitoleo commented on July 17, 2024

The benefits of creating a pure-Julia solution I think slightly outweigh the downsides

I briefly played around with the JLL and now I agree, maintaining the C++ bindings is not trivial and blows up the package size (we would need to depend on the whole GeographicLib binary, much of which would go unused). My only concern is around incorporating upstream changes, since upstream is still actively maintained (last commit June 2021). But I think it's feasible. I like GeoDistances.jl as the name.

from geographiclib.jl.

anowacki avatar anowacki commented on July 17, 2024

I agree about upstream changes—I will resolve to try and keep on top of those and incorporate them in the Julia codebase.

Thanks for the feedback on the name!

from geographiclib.jl.

haakon-e avatar haakon-e commented on July 17, 2024

Hi @anowacki. First of all, great package! I'm really interested in this for more accurate computations of earth distances -- and related computations (primarily calculating intersection of geodesics).

How far along are you with potential plans for a pure julia implementation? Depending on your plans/progress, I may be interested to try doing that.

from geographiclib.jl.

anowacki avatar anowacki commented on July 17, 2024

Hi @haakon-e. Thanks for your interest! I have a draft implementation locally that I can push to a branch here if you wanted to build on that and finish this up. It simply brings in the code from GeographicLib.jl. If you need Karney's algorithm in the meantime, you can use GeographicLib.jl, though that isn't registered either.

Right now this package is focussed on distances, but if you wanted to extend it for intersections and other spherical problems I'd be happy to have those things here.

from geographiclib.jl.

haakon-e avatar haakon-e commented on July 17, 2024

@anowacki yes, I'd be interested in that, but no rush. I will most likely have time to put in some good effort in late November / early December. So far things seem to be working with installing this GitHub repo directly.

from geographiclib.jl.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.