Activity for Charles Karney

  • Charles Karney Charles Karney posted a comment on discussion Help

    Sorry to be so late answering this... The documentation in the C++ library explains how to interpret the azimuth at one of the poles: If either point is at a pole, the azimuth is defined by keeping the longitude fixed, writing latitude = ±(90° − ε), and taking the limit ε → 0+. Let me know of you have further questions.

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.4 (released 2023-07-14)

  • Charles Karney Charles Karney posted a comment on discussion Help

    GeographicLib is a fairly standard C++ library and CMake is a fairly standard way of compiling and installing such libraries. So I recommend that you first seek help on a C# forum on how to use C++ libraries with your C# application.

  • Charles Karney Charles Karney posted a comment on discussion Help

    Yes, the method is now included in GeographicLib 2.3 (released July 2023). See the Intersect class and the IntersectTool utility.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    There are three problems with your suggested scheme: The gnomonic projection is a bad starting point because it badly distorts areas. An equal area projection, e.g., Albers conic, is a better choice. But understand that this would only "work" if your polygon had a relatively small extent, say 100 km or less. Your proposed triangulation scheme then has the problem (a) that it will be slow, O(n^2), I think, and (b) that it's wrong since you don't weight the vertices of the succeeding triangles according...

  • Charles Karney Charles Karney modified a blog post

    GeographicLib 2.3 (released 2023-07-25)

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    Your .pro seems OK. But then I don't know the intricacies of .pro files. How does your application find bin/GeographicLib.dll? Is the bin directory in you PATH? Your problems are, most likely, nothing to do with GeographicLib but instead how you use any external library in your program. In this case, you need to seek help in a Qt-specific forum. Since your sample code is from ArcGis, maybe you can get help there. If you do resolve your problem, please post the solution to this forum so others can...

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    You don't give enough details to diagnose your problem. But it looks like the linker doesn't know the location of the GeographicLib library. That would be the place to look. Can you link any external library to your application? If not, then you need to seek help in a Qt-specific forum. I haven't messed with Qt's .pro files for many years. Instead, I build Qt projects with CMake. (Qt Creator can handle CMake builds.) In this case, you just use find_package(GeographicLib ...) to tell the system where...

  • Charles Karney Charles Karney posted a comment on discussion Help

    No... The Python package contains just a subset of the functionality of the C++ library and the Python package will only be updated if there's some update to the core geodesic routines. At present, I have no plans to port the functionality of the Intersect class to Python.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    For a multithreaded application, you need to read in all the data you need before entering the multithreaded portion of your code using either the Cache or CacheAll methods. See https://geographiclib.sourceforge.io/1.52/NET/classNETGeographicLib_1_1Geoid.html#a30fd83f3947872f9da6db81113895bef https://geographiclib.sourceforge.io/1.52/NET/classNETGeographicLib_1_1Geoid.html#a2bb6942e8979d9dc54f5b9ec32f154bb Be warned that NETGeographicLib is no longer actively supported.

  • Charles Karney Charles Karney posted a comment on discussion Help

    Thanks for the update!

  • Charles Karney Charles Karney posted a comment on discussion Help

    Equations B1 and B2 apply to the interception problem.

  • Charles Karney Charles Karney posted a comment on discussion Help

    You might also try the modifications to the algorithm of Baselga and Matinez-Llario that I give in Appendix B of https://arxiv.org/abs/2308.00495 . This should converge more rapidly (quadratically) and you can check this by printing s_ax for each iteration. Please post any data you get on the relative convergence rates.

  • Charles Karney Charles Karney posted a comment on discussion Help

    This paper only deals with the intersection of geodesics. The point to line problem is only briefly mentioned.

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.3 (released 2023-07-25)

  • Charles Karney Charles Karney modified a blog post

    GeographicLib 2.2 (released 2023-03-07)

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.2 (released 2023-03-07)

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.1.2 (released 2022-12-13)

  • Charles Karney Charles Karney posted a comment on discussion Help

    There are a number of things going on with this projection SPHEROID is not WGS84 but Clarke 1880 PRIMEM is not Greenwich but Paris UNIT is not degrees by grad TOWGS84 is non-zero Presumably the central_medidian is relative to Paris? GeographicLib doesn't know how to map a point on WGS84 to this spheroid+datum. I can't help you with this; PROJ would be the tool I would look into using. Once you've mapped you point of interest to a latitude+longitude on this datum, then you can use GeographicLib::LambertConformalConic...

  • Charles Karney Charles Karney modified a comment on discussion Help

    Better to say I do the Forward() operation 1+n times. 1 as part of construction and n for the n points to be projected. Because of the simple way lon0 enters into this projection, I elected not to incorporate it as part of the construction. Instead you specify it on each call to Forward and Reverse. Usually k1 = 1 if there are two distinct standard parallels. I hesitate to say "always".

  • Charles Karney Charles Karney posted a comment on discussion Help

    Better to say I do the Forward() operation 1+n times. 1 as part of construction and n for the n points to be projected. Because of the simple way lon0 enters into this projection, I elected not to incorporate it as part of the construction. Instead you specify it on each call to Forward and Reverse. Usually k1 = 1 is there are two distinct standard parallels. I hesitate to say "always".

  • Charles Karney Charles Karney posted a comment on discussion Help

    The coordinates are shifted so that the projected coordinates at phi0/lam0 are X0/Y0. The example examples/example-LambertConformalConic.cpp shows how to handle this. This example is for the Pennsylvania South coordinate system. However the French projection is similar. Compare https://www.spatialreference.org/ref/epsg/3364/html/ https://www.spatialreference.org/ref/epsg/2154/html/

  • Charles Karney Charles Karney created a blog post

    Geodesics on an arbitrary ellipsoid of revolution

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.1.1 (released 2022-07-25)

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    To answer your question about why the same latitude value results in different northings, you need to examine the latitude/longitude lines for TM, e.g., as given in the Wikipedia article on TM.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    Sorry, I accidentally deleted your recent post requiring moderation...

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    You're right -- up to a point. You still need to make sure that the latitudes of the two point match (apart from a sign). If you're still having problems, set the central longitude to 0 and plot lines of equal latitude and longitude in TM coordinates. Make sure you understand this before worrying about changing the central longitude.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    You'll only get the behavior you expect if fabs(coord_1.Latitude()) = fabs(coord_2.Latitude()) A degree separation in longitude corresponds to a shorter distance at higher latitudes. The origin for the northing is the equator and so, obviously, the northings will only match if the latitudes match.

  • Charles Karney Charles Karney created a blog post

    Bug (+ fix) in the DST class

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    FYI, I did a fresh checkout of vcpkg. Then, in a VS 2022 command shell, I did: .\vcpkg\bootstrap-vcpkg.bat .\vcpkg\vcpkg.exe install geographiclib:x64-windows --debug > build.log This completed successfully. I attach build.log.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    Sorry, you've run beyond my knowledge of vcpkg on Windows. Perhaps you can confirm that you can download and compile the source manually without vcpkg. Then I suggest you post an issue on vcpkg. It's obviously best if you can pinpoint the problem with the vcpkg port (as I said, you're probably in a better position to do this than me). I still have a sneaking suspicion that there's something broken in your setup ("Please ensure your system has sufficient memory" + "Restarting build without parallelism")....

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    The first error in the log file is: MT: command "C:\PROGRA~2\WI3CF2~1\10\bin\100190~1.0\x64\mt.exe /nologo /manifest bin\TransverseMercatorProj.exe.manifest /outputresource:bin\TransverseMercatorProj.exe;#1" failed (exit code 0x1f) with the following output: mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "bin\TransverseMercatorProj.exe". Access is denied. which suggests that it's some problem on your end (bad permissions, some other process had the file...

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    John, I'd appreciate if you could apply this PR and confirm that this resolves your problems. I can then push for the vcpkg maintainers to merge the PR. Thanks.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    This PR starts with version 2.1 of GeographicLib. That's where the changes were made. (Windows users who don't use vcpkg will then benefit.)

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    I submitted this PR to update GeographicLib to 2.1 in vcpkg. It's waiting for approval.

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.1 (released 2022-06-09)

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    Attached patch file deals with the std::c++latest warnings across the whole code base. This patch supersedes the previous one. The strategy is: In header files: modify the code In source files: use pragma to disable the warning. I also added the std:c++latest flag in the toplevel CMakeLists.txt file to catch these issues going forward. You can apply these patches to the r2.0 release. They have been applied to the main branch of the git repository.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    I'll need to check all instances of enum op float that VS is now complaining about. No plans to update vcpkg because the next version of GeographicLib will appear within a month. Change of library name (Geographic -> GeographicLib) was noted in change list. Perhaps you could just compile the library yourself with this picky flag and send me the results -- maybe it's just DMS.cpp that needs attention (but surely Math.cpp does too).

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    Please apply the attached patch and try again. (You can list it as a patch for vcpkg.) I'd appreciate hearing back from you whether this works and whether you encounter any other issues.

  • Charles Karney Charles Karney committed [b3ee8c]

    More post release cleanup

  • Charles Karney Charles Karney committed [e12a93]

    Post release documentation cleanup

  • Charles Karney Charles Karney committed [c90879]

    Final set up documentation updates for version 2.0

  • Charles Karney Charles Karney committed [3deacb]

    Update README.md

  • Charles Karney Charles Karney committed [f0bd9f]

    Get ready for 2.0-rc1

  • Charles Karney Charles Karney committed [d1efdc]

    Update README.md

  • Charles Karney Charles Karney committed [a474f0]

    Merge from devel

  • Charles Karney Charles Karney committed [0fc163]

    Several minor doc fixes.

  • Charles Karney Charles Karney committed [d6242d]

    Revert URL for random doc; get rid of deadwood in GeodesicExact.cpp.

  • Charles Karney Charles Karney committed [617474]

    Introduce Math::qd, Math::dm, Math::ms

  • Charles Karney Charles Karney committed [bb7d2f]

    Move geodesic-papers and misc to geographiclib-doc repo.

  • Charles Karney Charles Karney committed [16cdb4]

    An intermediate commit on the release branch to join histories

  • Charles Karney Charles Karney committed [8f9b05]

    Version 2.0-rc1

  • Charles Karney Charles Karney committed [8d8547]

    Version 2.0 (2022-05-06)

  • Charles Karney Charles Karney committed [6c1ef6]

    Merge from devel

  • Charles Karney Charles Karney committed [b24b6e]

    Fix round-off bug in Geodesic inverse (exhibited in long double).

  • Charles Karney Charles Karney committed [955a79]

    Add optional comment arg to Utility::ParseLine.

  • Charles Karney Charles Karney committed [958306]

    Update copyright year. Fix geodtest for arm processor.

  • Charles Karney Charles Karney created a blog post

    GeographicLib 2.0 (released 2022-05-06)

  • Charles Karney Charles Karney posted a comment on discussion Help

    The "normal" ways people use GeographicLib are: using the utilities in a command shell or in scripts; writing C++ programs (which might possibly offer a GUI interface!) which link with the library. It sounds like the first is likely to be the most useful method for you. Assuming that PATH includes the directory where the utilities are stored (and the error message you got indicates that this might not be the case), you can open a CMD shell and type echo 1 2 3 4 | GeodSolve -i to determine the shortest...

  • Charles Karney Charles Karney modified a comment on discussion Help

    The last argument in you call to Position returns the area, which I'm careful to spell with a capital S, S12 (in m^2 so it's usually a big number). The distance is just the first argument s, of course. You can also then make the simpler call l.Position(s, lat2, lon2, azi). Let me know if this clears up your problem.

  • Charles Karney Charles Karney posted a comment on discussion Help

    Correct. The methods in C++ library typically only return single values. For most methods, the results are via reference arguments.

  • Charles Karney Charles Karney posted a comment on discussion Help

    The last argument in you call to Position returns the area, which I'm careful to spell with a capital S, S12 (in m^2 so it's usually a big number). The distance is just the first argument s, of course. Let me know if this clears up your problem.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    The source code for an alpha version of the new release is in the distrib-C++ directory under files download tab. This is NOT FOR USE IN PRODUCTION. I might (will!) change the tar/zip files without warning. This is version 2.0 which folds in lots of changes (yet to be documented) in how things are organized.

  • Charles Karney Charles Karney posted a comment on discussion Open Discussion

    This problem had already been fixed and will be available in the next release (which I'm hoping will before June 1). Your fix is fine but suboptimal. The problem is that identifiers starting with _[A-Z] or __ are "reserved", see https://en.cppreference.com/w/cpp/language/identifiers My fix was to change _E1 to _eE1. That's better than using __E1. I recommend you do the same as me in case Sun decides to use __E1 for something.

  • Charles Karney Charles Karney posted a comment on ticket #23351

    The problem is indeed resolved. Thanks!

  • Charles Karney Charles Karney created ticket #23351

    Creating a new shell for GeographicLib fails

  • Charles Karney Charles Karney committed [6df8dd]

    Roll to version 2.0.

  • Charles Karney Charles Karney committed [d9871e]

    Remove Java, JavaScript, MATLAB/Octave, Python, C, Fortran versions

  • Charles Karney Charles Karney committed [eff69b]

    Fix bug where a geodesic with lat1 = 0 and lat2 = nan was treated as

  • Charles Karney Charles Karney committed [ebe54b]

    Fix typo

  • Charles Karney Charles Karney committed [8ecd13]

    _D0 renamed to _D0fix because _D0 is a preprocessor symbol on QNX

  • Charles Karney Charles Karney committed [e597da]

    Rename identifiers that begin with _[A-Z]

  • Charles Karney Charles Karney committed [8b8d54]

    Put GeodesicExactC4.cpp back into GeodesicExact.cpp.

  • Charles Karney Charles Karney committed [48e22e]

    Document use of fractional years in MagneticModel.

  • Charles Karney Charles Karney committed [57ebdb]

    EllipticFunction: Specify restrictions on args.

  • Charles Karney Charles Karney committed [cc28ca]

    Remove unneeded _exact in RhumbLine + unneeded Utility::ParseLine.

  • Charles Karney Charles Karney committed [7af981]

    Workaround boost enum bug; use delete idiom for disabling ctrs.

  • Charles Karney Charles Karney committed [c7e788]

    Some house cleaning. Fix doi in documentation.

  • Charles Karney Charles Karney committed [2a62be]

    Use fabs, fmin, fmax instead of abs, min, max on reals.

  • Charles Karney Charles Karney committed [082671]

    Remove deprecated function (MajorRadius() and functions in cmath).

  • Charles Karney Charles Karney committed [25b850]

    Miscellaneous house cleaning

  • Charles Karney Charles Karney committed [9029b8]

    Allow for more general test programs.

  • Charles Karney Charles Karney committed [65e054]

    Deal with +/-0 deg and +/-180 deg in a more principled way

  • Charles Karney Charles Karney committed [53c114]

    Simplify cmake/autoconf/make configurations

  • Charles Karney Charles Karney committed [444745]

    Create VERSION file in release tarballs.

  • Charles Karney Charles Karney committed [8a54ef]

    Update web links to reflect new organization of documenation

  • Charles Karney Charles Karney committed [6cdcb2]

    Cmake changes to support RELEASE build

  • Charles Karney Charles Karney committed [9fea9d]

    Check GEOGRAPHICLIB_PRECISION with find_package(GeographicLib)

  • Charles Karney Charles Karney committed [da9f7a]

    Allow make dist in RELEASE mode.

  • Charles Karney Charles Karney committed [124b16]

    Lib name Geographic->GeographicLib; variables for installation dirs.

  • Charles Karney Charles Karney committed [240c8d]

    Move random doc files at top level to misc directory.

  • Charles Karney Charles Karney committed [24db47]

    Clean up test-distribution script

  • Charles Karney Charles Karney committed [b45b6b]

    Introduce version suffix = -alpha.

  • Charles Karney Charles Karney committed [6ff402]

    Add more tests for fixed point output. Skip tests on Windows.

  • Charles Karney Charles Karney committed [f5d11c]

    Reorganize distribution directories.

  • Charles Karney Charles Karney committed [1a0fdd]

    Tweak for sign of err in sum. Minor fix in Geodesic.cpp.

  • Charles Karney Charles Karney committed [d71fba]

    Add more tests to signtest.cpp.

  • Charles Karney Charles Karney committed [ff174f]

    Introduce sincosde.

  • Charles Karney Charles Karney committed [3a04ac]

    Add Geodesic::STANDARD, etc., mask

  • Charles Karney Charles Karney committed [5ebe88]

    Add sanitize cmake target to check whitespace hygiene

1 >