Finding algorithms of QGIS commands?What are Definition, Algorithms and Practical Solutions for Concave Hull?Finding center of geometry of object?Finding minimum-area-rectangle for given points?Learning resources for beginning differential topology for a programmer?How to Create a Minimum Bounding Polygon in QGISWhat algorithm does QGIS use to calculate Nearest Neighbor Index?Calculate area of geometry derived from current feature in QGIS 2.8Finding documentation for arcpy.gp functions?Creating Minimum Convex Polygon - Home Range from Points in QGISHow to generalize shape with PyQGIS without much Distortion in the shape?

How to pronounce "I ♥ Huckabees"?

While on vacation my taxi took a longer route, possibly to scam me out of money. How can I deal with this?

Could this Scherzo by Beethoven be considered to be a fugue?

I got the following comment from a reputed math journal. What does it mean?

What are substitutions for coconut in curry?

Why is the President allowed to veto a cancellation of emergency powers?

How could an airship be repaired midflight?

When to use a slotted vs. solid turner?

Is it true that good novels will automatically sell themselves on Amazon (and so on) and there is no need for one to waste time promoting?

Happy pi day, everyone!

Recruiter wants very extensive technical details about all of my previous work

Examples of transfinite towers

Brexit - No Deal Rejection

About the actual radiative impact of greenhouse gas emission over time

Did Ender ever learn that he killed Stilson and/or Bonzo?

How to prove the triangle inequality for this metric space

Official degrees of earth’s rotation per day

Does .bashrc contain syntax errors?

Non-trivial topology where only open sets are closed

Professor being mistaken for a grad student

How to explain that I do not want to visit a country due to personal safety concern?

What's the meaning of a knight fighting a snail in medieval book illustrations?

A single argument pattern definition applies to multiple-argument patterns?

Print a physical multiplication table



Finding algorithms of QGIS commands?


What are Definition, Algorithms and Practical Solutions for Concave Hull?Finding center of geometry of object?Finding minimum-area-rectangle for given points?Learning resources for beginning differential topology for a programmer?How to Create a Minimum Bounding Polygon in QGISWhat algorithm does QGIS use to calculate Nearest Neighbor Index?Calculate area of geometry derived from current feature in QGIS 2.8Finding documentation for arcpy.gp functions?Creating Minimum Convex Polygon - Home Range from Points in QGISHow to generalize shape with PyQGIS without much Distortion in the shape?













5















I'm looking for the algorithms (the math) used by QGIS but I can't find any documentation about it



The ones I'm looking for are:



  • Minimum bounding geometry (convex hull)

  • Clip a polygon by a polygon

Does anyone knows where I can find them?










share|improve this question
























  • docs.qgis.org/testing/en/docs/user_manual/processing/…

    – Fran Raga
    Mar 12 at 10:31






  • 5





    It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

    – Vince
    Mar 12 at 11:01















5















I'm looking for the algorithms (the math) used by QGIS but I can't find any documentation about it



The ones I'm looking for are:



  • Minimum bounding geometry (convex hull)

  • Clip a polygon by a polygon

Does anyone knows where I can find them?










share|improve this question
























  • docs.qgis.org/testing/en/docs/user_manual/processing/…

    – Fran Raga
    Mar 12 at 10:31






  • 5





    It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

    – Vince
    Mar 12 at 11:01













5












5








5








I'm looking for the algorithms (the math) used by QGIS but I can't find any documentation about it



The ones I'm looking for are:



  • Minimum bounding geometry (convex hull)

  • Clip a polygon by a polygon

Does anyone knows where I can find them?










share|improve this question
















I'm looking for the algorithms (the math) used by QGIS but I can't find any documentation about it



The ones I'm looking for are:



  • Minimum bounding geometry (convex hull)

  • Clip a polygon by a polygon

Does anyone knows where I can find them?







qgis algorithm documentation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 12 at 10:57









Vince

14.7k32749




14.7k32749










asked Mar 12 at 10:04









Koen VenkenKoen Venken

554




554












  • docs.qgis.org/testing/en/docs/user_manual/processing/…

    – Fran Raga
    Mar 12 at 10:31






  • 5





    It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

    – Vince
    Mar 12 at 11:01

















  • docs.qgis.org/testing/en/docs/user_manual/processing/…

    – Fran Raga
    Mar 12 at 10:31






  • 5





    It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

    – Vince
    Mar 12 at 11:01
















docs.qgis.org/testing/en/docs/user_manual/processing/…

– Fran Raga
Mar 12 at 10:31





docs.qgis.org/testing/en/docs/user_manual/processing/…

– Fran Raga
Mar 12 at 10:31




5




5





It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

– Vince
Mar 12 at 11:01





It's open source software. As the the old spaghetti sauce commercial used to say, "It's in there."

– Vince
Mar 12 at 11:01










2 Answers
2






active

oldest

votes


















14














The "minimum bounding geometry" and "clip polygon" algorithms in QGIS are implemented in /python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py and /src/analysis/processing/qgsalgorithmclip.cpp.



If you follow through the source of these, you'll find that they rely on geometry-related functions from a C++ class called QgsGeometry, specifically QgsGeometry::convexHull() and QgsGeometry::intersection(). The "clip" algorithm also contains additional logic for building a union of geometries to form a mask polygon, as well as testing for points within the polygon, in the case of non-polygon vectors.



Reading through the QgsGeometry class shows that the actual algorithms themselves are implemented in a library called GEOS. GEOS is a C++ port of a Java library called the JTS Topology Suite, which implements a suite of geometry-related algorithms.



The core of the ConvexHull algorithm from GEOS is implemented here using an algorithm called Graham's scan. The implementation of intersection in GEOS is a bit more complicated and spread out, but here's a place to start looking. GEOS supports various binary operations between geometries and "intersection" is only one of them.



In general, GEOS is the place to look for the implementations of the various vector algorithms in QGIS, but there are also some raster algorithms in QGIS which are implemented by the GDAL library.






share|improve this answer






























    6














    You can check the algorithms at QGIS Github and find scripts for all the tools such as the minimum bounding geometry.






    share|improve this answer


















    • 1





      While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

      – Candy Gumdrop
      Mar 12 at 13:24











    • @CandyGumdrop - Thanks for providing a comprehensive answer :)

      – Joseph
      Mar 13 at 10:14










    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "79"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f315196%2ffinding-algorithms-of-qgis-commands%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    14














    The "minimum bounding geometry" and "clip polygon" algorithms in QGIS are implemented in /python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py and /src/analysis/processing/qgsalgorithmclip.cpp.



    If you follow through the source of these, you'll find that they rely on geometry-related functions from a C++ class called QgsGeometry, specifically QgsGeometry::convexHull() and QgsGeometry::intersection(). The "clip" algorithm also contains additional logic for building a union of geometries to form a mask polygon, as well as testing for points within the polygon, in the case of non-polygon vectors.



    Reading through the QgsGeometry class shows that the actual algorithms themselves are implemented in a library called GEOS. GEOS is a C++ port of a Java library called the JTS Topology Suite, which implements a suite of geometry-related algorithms.



    The core of the ConvexHull algorithm from GEOS is implemented here using an algorithm called Graham's scan. The implementation of intersection in GEOS is a bit more complicated and spread out, but here's a place to start looking. GEOS supports various binary operations between geometries and "intersection" is only one of them.



    In general, GEOS is the place to look for the implementations of the various vector algorithms in QGIS, but there are also some raster algorithms in QGIS which are implemented by the GDAL library.






    share|improve this answer



























      14














      The "minimum bounding geometry" and "clip polygon" algorithms in QGIS are implemented in /python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py and /src/analysis/processing/qgsalgorithmclip.cpp.



      If you follow through the source of these, you'll find that they rely on geometry-related functions from a C++ class called QgsGeometry, specifically QgsGeometry::convexHull() and QgsGeometry::intersection(). The "clip" algorithm also contains additional logic for building a union of geometries to form a mask polygon, as well as testing for points within the polygon, in the case of non-polygon vectors.



      Reading through the QgsGeometry class shows that the actual algorithms themselves are implemented in a library called GEOS. GEOS is a C++ port of a Java library called the JTS Topology Suite, which implements a suite of geometry-related algorithms.



      The core of the ConvexHull algorithm from GEOS is implemented here using an algorithm called Graham's scan. The implementation of intersection in GEOS is a bit more complicated and spread out, but here's a place to start looking. GEOS supports various binary operations between geometries and "intersection" is only one of them.



      In general, GEOS is the place to look for the implementations of the various vector algorithms in QGIS, but there are also some raster algorithms in QGIS which are implemented by the GDAL library.






      share|improve this answer

























        14












        14








        14







        The "minimum bounding geometry" and "clip polygon" algorithms in QGIS are implemented in /python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py and /src/analysis/processing/qgsalgorithmclip.cpp.



        If you follow through the source of these, you'll find that they rely on geometry-related functions from a C++ class called QgsGeometry, specifically QgsGeometry::convexHull() and QgsGeometry::intersection(). The "clip" algorithm also contains additional logic for building a union of geometries to form a mask polygon, as well as testing for points within the polygon, in the case of non-polygon vectors.



        Reading through the QgsGeometry class shows that the actual algorithms themselves are implemented in a library called GEOS. GEOS is a C++ port of a Java library called the JTS Topology Suite, which implements a suite of geometry-related algorithms.



        The core of the ConvexHull algorithm from GEOS is implemented here using an algorithm called Graham's scan. The implementation of intersection in GEOS is a bit more complicated and spread out, but here's a place to start looking. GEOS supports various binary operations between geometries and "intersection" is only one of them.



        In general, GEOS is the place to look for the implementations of the various vector algorithms in QGIS, but there are also some raster algorithms in QGIS which are implemented by the GDAL library.






        share|improve this answer













        The "minimum bounding geometry" and "clip polygon" algorithms in QGIS are implemented in /python/plugins/processing/algs/qgis/MinimumBoundingGeometry.py and /src/analysis/processing/qgsalgorithmclip.cpp.



        If you follow through the source of these, you'll find that they rely on geometry-related functions from a C++ class called QgsGeometry, specifically QgsGeometry::convexHull() and QgsGeometry::intersection(). The "clip" algorithm also contains additional logic for building a union of geometries to form a mask polygon, as well as testing for points within the polygon, in the case of non-polygon vectors.



        Reading through the QgsGeometry class shows that the actual algorithms themselves are implemented in a library called GEOS. GEOS is a C++ port of a Java library called the JTS Topology Suite, which implements a suite of geometry-related algorithms.



        The core of the ConvexHull algorithm from GEOS is implemented here using an algorithm called Graham's scan. The implementation of intersection in GEOS is a bit more complicated and spread out, but here's a place to start looking. GEOS supports various binary operations between geometries and "intersection" is only one of them.



        In general, GEOS is the place to look for the implementations of the various vector algorithms in QGIS, but there are also some raster algorithms in QGIS which are implemented by the GDAL library.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 12 at 12:16









        Candy GumdropCandy Gumdrop

        36114




        36114























            6














            You can check the algorithms at QGIS Github and find scripts for all the tools such as the minimum bounding geometry.






            share|improve this answer


















            • 1





              While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

              – Candy Gumdrop
              Mar 12 at 13:24











            • @CandyGumdrop - Thanks for providing a comprehensive answer :)

              – Joseph
              Mar 13 at 10:14















            6














            You can check the algorithms at QGIS Github and find scripts for all the tools such as the minimum bounding geometry.






            share|improve this answer


















            • 1





              While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

              – Candy Gumdrop
              Mar 12 at 13:24











            • @CandyGumdrop - Thanks for providing a comprehensive answer :)

              – Joseph
              Mar 13 at 10:14













            6












            6








            6







            You can check the algorithms at QGIS Github and find scripts for all the tools such as the minimum bounding geometry.






            share|improve this answer













            You can check the algorithms at QGIS Github and find scripts for all the tools such as the minimum bounding geometry.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 12 at 10:13









            JosephJoseph

            58k7100201




            58k7100201







            • 1





              While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

              – Candy Gumdrop
              Mar 12 at 13:24











            • @CandyGumdrop - Thanks for providing a comprehensive answer :)

              – Joseph
              Mar 13 at 10:14












            • 1





              While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

              – Candy Gumdrop
              Mar 12 at 13:24











            • @CandyGumdrop - Thanks for providing a comprehensive answer :)

              – Joseph
              Mar 13 at 10:14







            1




            1





            While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

            – Candy Gumdrop
            Mar 12 at 13:24





            While these links are good starting points, it's worth noting that the algorithms themselves aren't in the QGIS source repository.

            – Candy Gumdrop
            Mar 12 at 13:24













            @CandyGumdrop - Thanks for providing a comprehensive answer :)

            – Joseph
            Mar 13 at 10:14





            @CandyGumdrop - Thanks for providing a comprehensive answer :)

            – Joseph
            Mar 13 at 10:14

















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f315196%2ffinding-algorithms-of-qgis-commands%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Solar Wings Breeze Design and development Specifications (Breeze) References Navigation menu1368-485X"Hang glider: Breeze (Solar Wings)"e

            Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee

            Method to test if a number is a perfect power? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Detecting perfect squares faster than by extracting square rooteffective way to get the integer sequence A181392 from oeisA rarely mentioned fact about perfect powersHow many numbers such $n$ are there that $n<100,lfloorsqrtn rfloor mid n$Check perfect squareness by modulo division against multiple basesFor what pair of integers $(a,b)$ is $3^a + 7^b$ a perfect square.Do there exist any positive integers $n$ such that $lfloore^nrfloor$ is a perfect power? What is the probability that one exists?finding perfect power factors of an integerProve that the sequence contains a perfect square for any natural number $m $ in the domain of $f$ .Counting Perfect Powers