Optimising a PostGIS tableSpeeding up OpenStreetMap PostGIS queryingPostGIS - table with 3d points with fast ordering by distancePostGIS Intermittent INDEX PerformancePostgreSQL/PostGIS spatial index - no speed upWhy does QGIS crash when my PostGIS table has a primary key?PostGIS ST_Intersects vs ArcGIS Select by LocationOptimizing PostGIS/Geoserver schema for huge datasetIssue editing nodes on a PostGIS table via QGISPostGIS Optimising ST_Contains'UPDATE 0' results for ST_Within query - locating points within polygons

How to handle columns with categorical data and many unique values

Why does this relative pronoun not take the case of the noun it is referring to?

What is the offset in a seaplane's hull?

Does the average primeness of natural numbers tend to zero?

How to create a consistant feel for character names in a fantasy setting?

How to make payment on the internet without leaving a money trail?

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?

Information to fellow intern about Hiring?

Is it possible to make sharp wind that can cut stuff from afar?

Send two commands to a new terminal?

How to answer pointed "are you quitting" questioning when I don't want them to suspect

What does "enim et" mean?

Why use `cat` to view a file?

Imbalanced dataset binary classification

My colleague's body is amazing

Is Fable (1996) connected in any way to the Fable franchise from Lionhead Studios?

Is domain driven design an anti-SQL pattern?

Prime joint compound before latex paint?

Why Is Death Allowed In the Matrix?

Why do UK politicians seemingly ignore opinion polls on Brexit?

OA final episode explanation

Some basic questions on halt and move in Turing machines

Wild Shape Centaur Into a Giant Elk: do their Charges stack?

When blogging recipes, how can I support both readers who want the narrative/journey and ones who want the printer-friendly recipe?



Optimising a PostGIS table


Speeding up OpenStreetMap PostGIS queryingPostGIS - table with 3d points with fast ordering by distancePostGIS Intermittent INDEX PerformancePostgreSQL/PostGIS spatial index - no speed upWhy does QGIS crash when my PostGIS table has a primary key?PostGIS ST_Intersects vs ArcGIS Select by LocationOptimizing PostGIS/Geoserver schema for huge datasetIssue editing nodes on a PostGIS table via QGISPostGIS Optimising ST_Contains'UPDATE 0' results for ST_Within query - locating points within polygons






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I've been uploading a huge amount of contour information to a PostGIS / PostGres table. Uploaded using QGIS' db manager to a separate table a chunk at a time, and then using a quick bit of SQL to append those chunks onto the main contour table.



pgAdmin is estimating it to have 492,408 rows containing five columns, which are:



  1. Altitude (double) e.g. 129.5

  2. Class (char) e.g. Basic

  3. geometry (geometry, a multiline string)

  4. OID (integer)

  5. pid (integer and primary key)

Now, if I try and add it into QGIS or Manifold (using Add PostGIS layers) it will basically take ages if it can add at all.



I've added a spatial index to it, as well as an index on the pid. Indexes that I've added are:



CREATE INDEX "Contours_50cm_Idx"
ON "Contours_50cm"
USING gist
(geometry);


and



CREATE UNIQUE INDEX "PID_INDEX"
ON "Contours_50cm"
USING btree
(pid);


Does anyone have any idea of anything else that could help optimise this?



Google has revealed people sometimes use partitioning on tables. Users won't have to see all of this data at a time - it covers quite a large area geographically.










share|improve this question



















  • 3





    Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

    – user30184
    Aug 31 '18 at 6:45







  • 5





    Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

    – Zoltan
    Aug 31 '18 at 7:52






  • 1





    Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

    – RoVo
    Aug 31 '18 at 9:02












  • @RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

    – user25730
    Sep 2 '18 at 22:32











  • @Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

    – user25730
    Sep 2 '18 at 22:35

















0















I've been uploading a huge amount of contour information to a PostGIS / PostGres table. Uploaded using QGIS' db manager to a separate table a chunk at a time, and then using a quick bit of SQL to append those chunks onto the main contour table.



pgAdmin is estimating it to have 492,408 rows containing five columns, which are:



  1. Altitude (double) e.g. 129.5

  2. Class (char) e.g. Basic

  3. geometry (geometry, a multiline string)

  4. OID (integer)

  5. pid (integer and primary key)

Now, if I try and add it into QGIS or Manifold (using Add PostGIS layers) it will basically take ages if it can add at all.



I've added a spatial index to it, as well as an index on the pid. Indexes that I've added are:



CREATE INDEX "Contours_50cm_Idx"
ON "Contours_50cm"
USING gist
(geometry);


and



CREATE UNIQUE INDEX "PID_INDEX"
ON "Contours_50cm"
USING btree
(pid);


Does anyone have any idea of anything else that could help optimise this?



Google has revealed people sometimes use partitioning on tables. Users won't have to see all of this data at a time - it covers quite a large area geographically.










share|improve this question



















  • 3





    Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

    – user30184
    Aug 31 '18 at 6:45







  • 5





    Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

    – Zoltan
    Aug 31 '18 at 7:52






  • 1





    Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

    – RoVo
    Aug 31 '18 at 9:02












  • @RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

    – user25730
    Sep 2 '18 at 22:32











  • @Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

    – user25730
    Sep 2 '18 at 22:35













0












0








0








I've been uploading a huge amount of contour information to a PostGIS / PostGres table. Uploaded using QGIS' db manager to a separate table a chunk at a time, and then using a quick bit of SQL to append those chunks onto the main contour table.



pgAdmin is estimating it to have 492,408 rows containing five columns, which are:



  1. Altitude (double) e.g. 129.5

  2. Class (char) e.g. Basic

  3. geometry (geometry, a multiline string)

  4. OID (integer)

  5. pid (integer and primary key)

Now, if I try and add it into QGIS or Manifold (using Add PostGIS layers) it will basically take ages if it can add at all.



I've added a spatial index to it, as well as an index on the pid. Indexes that I've added are:



CREATE INDEX "Contours_50cm_Idx"
ON "Contours_50cm"
USING gist
(geometry);


and



CREATE UNIQUE INDEX "PID_INDEX"
ON "Contours_50cm"
USING btree
(pid);


Does anyone have any idea of anything else that could help optimise this?



Google has revealed people sometimes use partitioning on tables. Users won't have to see all of this data at a time - it covers quite a large area geographically.










share|improve this question
















I've been uploading a huge amount of contour information to a PostGIS / PostGres table. Uploaded using QGIS' db manager to a separate table a chunk at a time, and then using a quick bit of SQL to append those chunks onto the main contour table.



pgAdmin is estimating it to have 492,408 rows containing five columns, which are:



  1. Altitude (double) e.g. 129.5

  2. Class (char) e.g. Basic

  3. geometry (geometry, a multiline string)

  4. OID (integer)

  5. pid (integer and primary key)

Now, if I try and add it into QGIS or Manifold (using Add PostGIS layers) it will basically take ages if it can add at all.



I've added a spatial index to it, as well as an index on the pid. Indexes that I've added are:



CREATE INDEX "Contours_50cm_Idx"
ON "Contours_50cm"
USING gist
(geometry);


and



CREATE UNIQUE INDEX "PID_INDEX"
ON "Contours_50cm"
USING btree
(pid);


Does anyone have any idea of anything else that could help optimise this?



Google has revealed people sometimes use partitioning on tables. Users won't have to see all of this data at a time - it covers quite a large area geographically.







postgis postgresql table






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 31 '18 at 10:39









Damini Jain

1,560217




1,560217










asked Aug 31 '18 at 6:22









user25730user25730

157110




157110







  • 3





    Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

    – user30184
    Aug 31 '18 at 6:45







  • 5





    Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

    – Zoltan
    Aug 31 '18 at 7:52






  • 1





    Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

    – RoVo
    Aug 31 '18 at 9:02












  • @RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

    – user25730
    Sep 2 '18 at 22:32











  • @Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

    – user25730
    Sep 2 '18 at 22:35












  • 3





    Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

    – user30184
    Aug 31 '18 at 6:45







  • 5





    Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

    – Zoltan
    Aug 31 '18 at 7:52






  • 1





    Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

    – RoVo
    Aug 31 '18 at 9:02












  • @RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

    – user25730
    Sep 2 '18 at 22:32











  • @Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

    – user25730
    Sep 2 '18 at 22:35







3




3





Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

– user30184
Aug 31 '18 at 6:45






Spatial index does not give any speedup if you do what you do and add the whole layer into QGIS because nothing gets filtered out. All the 492408 contour lines with all the attributes are read from the table anyway. Spatial index makes things faster if the query is spatially selective which means with QGIS that you have zoomed in into a small bounding box. Is the layer still slow if you zoom in? If you can't initially open it, zoom in first before adding the layer. Disabling rendering by unchecking the Render box may help as well.

– user30184
Aug 31 '18 at 6:45





5




5





Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

– Zoltan
Aug 31 '18 at 7:52





Make a simplified table of contours for small scale map rendering (ST_Simplify), and /or keep only every fifth elevation (main contours). Add both layers to QGIS and use scale dependent display to view only one of them.

– Zoltan
Aug 31 '18 at 7:52




1




1





Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

– RoVo
Aug 31 '18 at 9:02






Remove "PID_INDEX" and make it a PRIMARY KEY instead: ALTER TABLE "Contours_50cm" ADD PRIMARY KEY (pid);. If you already have it as primary key, you can still remove the index, as primary keys are always indexed.

– RoVo
Aug 31 '18 at 9:02














@RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

– user25730
Sep 2 '18 at 22:32





@RoVo - yes, pid is already a primary key. I'll keep the index on it for the moment as that shouldn't affect performance.

– user25730
Sep 2 '18 at 22:32













@Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

– user25730
Sep 2 '18 at 22:35





@Zoltan - good idea, though not what I'm after. I need it adding to a Manifold project (though QGIS is the "Swiss Army Knife" of the GIS world). However, just remembered that I can try to use the AOI Update method of Manifold which should help.

– user25730
Sep 2 '18 at 22:35










1 Answer
1






active

oldest

votes


















0














Right, an answer - or more rather a work-around. I can open it using Manifold (which is what my project is in anyway, I was just using QGIS for the heavy lifting) by linking to the table (which is what I was doing anyway) and giving it a very arbitrary default position to look at (e.g. X 1,2 and Y 1,2). This will allow the table to be loaded with anything at those coordinates (which is nothing).



From there, the layer can be updated with what is currently being looked at by the Map component using the AOI Update tool. This is actually how our contours currently work anyway (set up by my predecessor).






share|improve this answer























    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%2f294578%2foptimising-a-postgis-table%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Right, an answer - or more rather a work-around. I can open it using Manifold (which is what my project is in anyway, I was just using QGIS for the heavy lifting) by linking to the table (which is what I was doing anyway) and giving it a very arbitrary default position to look at (e.g. X 1,2 and Y 1,2). This will allow the table to be loaded with anything at those coordinates (which is nothing).



    From there, the layer can be updated with what is currently being looked at by the Map component using the AOI Update tool. This is actually how our contours currently work anyway (set up by my predecessor).






    share|improve this answer



























      0














      Right, an answer - or more rather a work-around. I can open it using Manifold (which is what my project is in anyway, I was just using QGIS for the heavy lifting) by linking to the table (which is what I was doing anyway) and giving it a very arbitrary default position to look at (e.g. X 1,2 and Y 1,2). This will allow the table to be loaded with anything at those coordinates (which is nothing).



      From there, the layer can be updated with what is currently being looked at by the Map component using the AOI Update tool. This is actually how our contours currently work anyway (set up by my predecessor).






      share|improve this answer

























        0












        0








        0







        Right, an answer - or more rather a work-around. I can open it using Manifold (which is what my project is in anyway, I was just using QGIS for the heavy lifting) by linking to the table (which is what I was doing anyway) and giving it a very arbitrary default position to look at (e.g. X 1,2 and Y 1,2). This will allow the table to be loaded with anything at those coordinates (which is nothing).



        From there, the layer can be updated with what is currently being looked at by the Map component using the AOI Update tool. This is actually how our contours currently work anyway (set up by my predecessor).






        share|improve this answer













        Right, an answer - or more rather a work-around. I can open it using Manifold (which is what my project is in anyway, I was just using QGIS for the heavy lifting) by linking to the table (which is what I was doing anyway) and giving it a very arbitrary default position to look at (e.g. X 1,2 and Y 1,2). This will allow the table to be loaded with anything at those coordinates (which is nothing).



        From there, the layer can be updated with what is currently being looked at by the Map component using the AOI Update tool. This is actually how our contours currently work anyway (set up by my predecessor).







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Sep 2 '18 at 22:53









        user25730user25730

        157110




        157110



























            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%2f294578%2foptimising-a-postgis-table%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

            Romeo and Juliet ContentsCharactersSynopsisSourcesDate and textThemes and motifsCriticism and interpretationLegacyScene by sceneSee alsoNotes and referencesSourcesExternal linksNavigation menu"Consumer Price Index (estimate) 1800–"10.2307/28710160037-3222287101610.1093/res/II.5.31910.2307/45967845967810.2307/2869925286992510.1525/jams.1982.35.3.03a00050"Dada Masilo: South African dancer who breaks the rules"10.1093/res/os-XV.57.1610.2307/28680942868094"Sweet Sorrow: Mann-Korman's Romeo and Juliet Closes Sept. 5 at MN's Ordway"the original10.2307/45957745957710.1017/CCOL0521570476.009"Ram Leela box office collections hit massive Rs 100 crore, pulverises prediction"Archived"Broadway Revival of Romeo and Juliet, Starring Orlando Bloom and Condola Rashad, Will Close Dec. 8"Archived10.1075/jhp.7.1.04hon"Wherefore art thou, Romeo? To make us laugh at Navy Pier"the original10.1093/gmo/9781561592630.article.O006772"Ram-leela Review Roundup: Critics Hail Film as Best Adaptation of Romeo and Juliet"Archived10.2307/31946310047-77293194631"Romeo and Juliet get Twitter treatment""Juliet's Nurse by Lois Leveen""Romeo and Juliet: Orlando Bloom's Broadway Debut Released in Theaters for Valentine's Day"Archived"Romeo and Juliet Has No Balcony"10.1093/gmo/9781561592630.article.O00778110.2307/2867423286742310.1076/enst.82.2.115.959510.1080/00138380601042675"A plague o' both your houses: error in GCSE exam paper forces apology""Juliet of the Five O'Clock Shadow, and Other Wonders"10.2307/33912430027-4321339124310.2307/28487440038-7134284874410.2307/29123140149-661129123144728341M"Weekender Guide: Shakespeare on The Drive""balcony"UK public library membership"romeo"UK public library membership10.1017/CCOL9780521844291"Post-Zionist Critique on Israel and the Palestinians Part III: Popular Culture"10.2307/25379071533-86140377-919X2537907"Capulets and Montagues: UK exam board admit mixing names up in Romeo and Juliet paper"Istoria Novellamente Ritrovata di Due Nobili Amanti2027/mdp.390150822329610820-750X"GCSE exam error: Board accidentally rewrites Shakespeare"10.2307/29176390149-66112917639"Exam board apologises after error in English GCSE paper which confused characters in Shakespeare's Romeo and Juliet""From Mariotto and Ganozza to Romeo and Guilietta: Metamorphoses of a Renaissance Tale"10.2307/37323537323510.2307/2867455286745510.2307/28678912867891"10 Questions for Taylor Swift"10.2307/28680922868092"Haymarket Theatre""The Zeffirelli Way: Revealing Talk by Florentine Director""Michael Smuin: 1938-2007 / Prolific dance director had showy career"The Life and Art of Edwin BoothRomeo and JulietRomeo and JulietRomeo and JulietRomeo and JulietEasy Read Romeo and JulietRomeo and Julieteeecb12003684p(data)4099369-3n8211610759dbe00d-a9e2-41a3-b2c1-977dd692899302814385X313670221313670221

            Creating closest line along the point''s azimuth using PostgreSQL Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Drawing line between points at specific distance in PostGIS?How to efficiently find the closest point over the dateline?How to find the nearest point by using PostGIS function?PostGIS nearest point with LATERAL JOIN in PostgreSQL 9.3+Creating a table and inserting selected streets using plpgsql functionsCreating a table that stores Distances and other columnSaving select query results (year wise) from PostgreSQL/PostGIS to text filesWhat is the information behind this geometry?How to give start and end vertex ids dynamically in pgr_dijkstra?Point to Polygon nearest distance DS_distance is not using geography index & knn <-> or <#> does not give result in orderLine to point conversion with start point and end point detection?

            Crop image to path created in TikZ? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Crop an inserted image?TikZ pictures does not appear in posterImage behind and beyond crop marks?Tikz picture as large as possible on A4 PageTransparency vs image compression dilemmaHow to crop background from image automatically?Image does not cropTikzexternal capturing crop marks when externalizing pgfplots?How to include image path that contains a dollar signCrop image with left size given