Circular Linestring: Make a new start and endpoint alonge the line (with normalized distance) via PostGISAdd a polygon to PostGis from Google MapsPostgis reorder mixed up linestring chunks / max_segment_length(linestring)?Problem with matching a buffer in Openlayers and the same buffer in PostGIS queryPostgresql (soln would be basic SQL I think): ORDER by distance to a point and return those distances in array pairs w/ the full recordsDetermine which points are contained inside a given polygonCartoDB (PostGIS) near function (distance) points to polygonsHow to segregate dumped points?Detect and measure loop at end of linestringLine to point conversion with start point and end point detection?LineLocate a sequence of points, preserving order

Is there a minimum number of transactions in a block?

What do you call a Matrix-like slowdown and camera movement effect?

The use of multiple foreign keys on same column in SQL Server

Are tax years 2016 & 2017 back taxes deductible for tax year 2018?

Is Social Media Science Fiction?

Japan - Plan around max visa duration

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

Download, install and reboot computer at night if needed

whey we use polarized capacitor?

XeLaTeX and pdfLaTeX ignore hyphenation

Copenhagen passport control - US citizen

N.B. ligature in Latex

A Journey Through Space and Time

Draw simple lines in Inkscape

Schwarzchild Radius of the Universe

Why are 150k or 200k jobs considered good when there are 300k+ births a month?

Can I make popcorn with any corn?

Why is an old chain unsafe?

Pronouncing Dictionary.com's W.O.D "vade mecum" in English

What would happen to a modern skyscraper if it rains micro blackholes?

Set-theoretical foundations of Mathematics with only bounded quantifiers

I see my dog run

What defenses are there against being summoned by the Gate spell?

How long does it take to type this?



Circular Linestring: Make a new start and endpoint alonge the line (with normalized distance) via PostGIS


Add a polygon to PostGis from Google MapsPostgis reorder mixed up linestring chunks / max_segment_length(linestring)?Problem with matching a buffer in Openlayers and the same buffer in PostGIS queryPostgresql (soln would be basic SQL I think): ORDER by distance to a point and return those distances in array pairs w/ the full recordsDetermine which points are contained inside a given polygonCartoDB (PostGIS) near function (distance) points to polygonsHow to segregate dumped points?Detect and measure loop at end of linestringLine to point conversion with start point and end point detection?LineLocate a sequence of points, preserving order






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








0















I want swap/change the order of the coordinates inside a circular string which should be easy as it is a circle
-- circular linestring --
CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)



to something like
CIRCULARSTRING(-3 1.999999, -2 1, -4 2, 5 2, -3 1.999999)



the ideal solution would also contain a get me the normalize distance on some point of the line like i want the point at 0.6 to be my new start and end point.



Are there any options to do that in PostGIS in a SQL Statement?










share|improve this question






















  • well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

    – ThingumaBob
    Aug 1 '18 at 14:41











  • I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

    – blackgis
    Aug 2 '18 at 8:05











  • ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

    – ThingumaBob
    Aug 2 '18 at 11:17







  • 1





    ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

    – Carlos MSF
    Aug 2 '18 at 11:57











  • @CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

    – ThingumaBob
    Aug 2 '18 at 12:43

















0















I want swap/change the order of the coordinates inside a circular string which should be easy as it is a circle
-- circular linestring --
CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)



to something like
CIRCULARSTRING(-3 1.999999, -2 1, -4 2, 5 2, -3 1.999999)



the ideal solution would also contain a get me the normalize distance on some point of the line like i want the point at 0.6 to be my new start and end point.



Are there any options to do that in PostGIS in a SQL Statement?










share|improve this question






















  • well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

    – ThingumaBob
    Aug 1 '18 at 14:41











  • I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

    – blackgis
    Aug 2 '18 at 8:05











  • ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

    – ThingumaBob
    Aug 2 '18 at 11:17







  • 1





    ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

    – Carlos MSF
    Aug 2 '18 at 11:57











  • @CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

    – ThingumaBob
    Aug 2 '18 at 12:43













0












0








0








I want swap/change the order of the coordinates inside a circular string which should be easy as it is a circle
-- circular linestring --
CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)



to something like
CIRCULARSTRING(-3 1.999999, -2 1, -4 2, 5 2, -3 1.999999)



the ideal solution would also contain a get me the normalize distance on some point of the line like i want the point at 0.6 to be my new start and end point.



Are there any options to do that in PostGIS in a SQL Statement?










share|improve this question














I want swap/change the order of the coordinates inside a circular string which should be easy as it is a circle
-- circular linestring --
CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)



to something like
CIRCULARSTRING(-3 1.999999, -2 1, -4 2, 5 2, -3 1.999999)



the ideal solution would also contain a get me the normalize distance on some point of the line like i want the point at 0.6 to be my new start and end point.



Are there any options to do that in PostGIS in a SQL Statement?







postgis sql






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Aug 1 '18 at 12:17









blackgisblackgis

19711




19711












  • well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

    – ThingumaBob
    Aug 1 '18 at 14:41











  • I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

    – blackgis
    Aug 2 '18 at 8:05











  • ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

    – ThingumaBob
    Aug 2 '18 at 11:17







  • 1





    ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

    – Carlos MSF
    Aug 2 '18 at 11:57











  • @CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

    – ThingumaBob
    Aug 2 '18 at 12:43

















  • well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

    – ThingumaBob
    Aug 1 '18 at 14:41











  • I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

    – blackgis
    Aug 2 '18 at 8:05











  • ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

    – ThingumaBob
    Aug 2 '18 at 11:17







  • 1





    ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

    – Carlos MSF
    Aug 2 '18 at 11:57











  • @CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

    – ThingumaBob
    Aug 2 '18 at 12:43
















well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

– ThingumaBob
Aug 1 '18 at 14:41





well, you could simply rebuild those cirlces. that will guarantee the start and end point will be at pi/2 rad, to then be able to rotate the circle with full control. what is that normalized distance all about?

– ThingumaBob
Aug 1 '18 at 14:41













I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

– blackgis
Aug 2 '18 at 8:05





I am trying to do that. The normailized distance is a position on the line (measured from the start point of the line) where it is described with 0 as start point and 1 as endpoint. postgis.net/docs/ST_LineSubstring.html I use this to split the line.

– blackgis
Aug 2 '18 at 8:05













ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

– ThingumaBob
Aug 2 '18 at 11:17






ST_LineInterpolatePoint returns a point geometry at a given fraction of linelength. do you have centroids of those circles? it might be easier to reconstruct the circle with the boundary of a buffer and rotate that.

– ThingumaBob
Aug 2 '18 at 11:17





1




1





ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

– Carlos MSF
Aug 2 '18 at 11:57





ST_LineInterpolationPoint, ST_LineSubstring as any other function from the Linear Referencing system of PostGIS will only work with LINESTRINGs (not CIRCULARSTRINGs)

– Carlos MSF
Aug 2 '18 at 11:57













@CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

– ThingumaBob
Aug 2 '18 at 12:43





@CarlosMSF true, I do assume that one will convert between types with ST_LineToCurve/ST_CurveToLine!

– ThingumaBob
Aug 2 '18 at 12:43










1 Answer
1






active

oldest

votes


















0














To reverse the order of the vertices within the CIRCULARSTRING I would suggest to use ST_Reverse, but it actually doesn't work with CIRCULARSTRING: it returns no error, but returns the original geometry unaltered.



Therefore, I suggest this workaround:



  1. Convert the geometry to text - ST_AsText

  2. Replace the CIRCULARSTRING for LINESTRING in the WKT of the geometry

  3. Create a LINESTRING from the text - ST_GeomFromText

  4. Reverse the LINESTRING - ST_Reverse

  5. Convert the resulting geometry to text - ST_AsText

  6. Replace the LINESTRING for CIRCULARSTRING in the WKT of the geometry

  7. Create a CIRCULARSTRING from the text - ST_GeomFromText

Here's the sample code:



WITH t AS
(
SELECT ST_GeomFromText('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)') AS geom
)
SELECT
ST_AsText(
ST_GeomFromText(
REPLACE(ST_AsText(
ST_Reverse(
ST_GeomFromText(REPLACE(ST_AsText(geom), 'CIRCULARSTRING', 'LINESTRING'))
)
), 'LINESTRING', 'CIRCULARSTRING')
)
)
FROM t


Result from the query above: "CIRCULARSTRING(5 2,-4 2,-2 1,-3 1.999999,5 2)"



enter image description here






share|improve this answer

























  • Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

    – blackgis
    Aug 3 '18 at 12:16






  • 1





    In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

    – Carlos MSF
    Aug 3 '18 at 14:19












  • Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

    – blackgis
    Aug 3 '18 at 15:48











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%2f291353%2fcircular-linestring-make-a-new-start-and-endpoint-alonge-the-line-with-normali%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














To reverse the order of the vertices within the CIRCULARSTRING I would suggest to use ST_Reverse, but it actually doesn't work with CIRCULARSTRING: it returns no error, but returns the original geometry unaltered.



Therefore, I suggest this workaround:



  1. Convert the geometry to text - ST_AsText

  2. Replace the CIRCULARSTRING for LINESTRING in the WKT of the geometry

  3. Create a LINESTRING from the text - ST_GeomFromText

  4. Reverse the LINESTRING - ST_Reverse

  5. Convert the resulting geometry to text - ST_AsText

  6. Replace the LINESTRING for CIRCULARSTRING in the WKT of the geometry

  7. Create a CIRCULARSTRING from the text - ST_GeomFromText

Here's the sample code:



WITH t AS
(
SELECT ST_GeomFromText('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)') AS geom
)
SELECT
ST_AsText(
ST_GeomFromText(
REPLACE(ST_AsText(
ST_Reverse(
ST_GeomFromText(REPLACE(ST_AsText(geom), 'CIRCULARSTRING', 'LINESTRING'))
)
), 'LINESTRING', 'CIRCULARSTRING')
)
)
FROM t


Result from the query above: "CIRCULARSTRING(5 2,-4 2,-2 1,-3 1.999999,5 2)"



enter image description here






share|improve this answer

























  • Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

    – blackgis
    Aug 3 '18 at 12:16






  • 1





    In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

    – Carlos MSF
    Aug 3 '18 at 14:19












  • Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

    – blackgis
    Aug 3 '18 at 15:48















0














To reverse the order of the vertices within the CIRCULARSTRING I would suggest to use ST_Reverse, but it actually doesn't work with CIRCULARSTRING: it returns no error, but returns the original geometry unaltered.



Therefore, I suggest this workaround:



  1. Convert the geometry to text - ST_AsText

  2. Replace the CIRCULARSTRING for LINESTRING in the WKT of the geometry

  3. Create a LINESTRING from the text - ST_GeomFromText

  4. Reverse the LINESTRING - ST_Reverse

  5. Convert the resulting geometry to text - ST_AsText

  6. Replace the LINESTRING for CIRCULARSTRING in the WKT of the geometry

  7. Create a CIRCULARSTRING from the text - ST_GeomFromText

Here's the sample code:



WITH t AS
(
SELECT ST_GeomFromText('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)') AS geom
)
SELECT
ST_AsText(
ST_GeomFromText(
REPLACE(ST_AsText(
ST_Reverse(
ST_GeomFromText(REPLACE(ST_AsText(geom), 'CIRCULARSTRING', 'LINESTRING'))
)
), 'LINESTRING', 'CIRCULARSTRING')
)
)
FROM t


Result from the query above: "CIRCULARSTRING(5 2,-4 2,-2 1,-3 1.999999,5 2)"



enter image description here






share|improve this answer

























  • Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

    – blackgis
    Aug 3 '18 at 12:16






  • 1





    In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

    – Carlos MSF
    Aug 3 '18 at 14:19












  • Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

    – blackgis
    Aug 3 '18 at 15:48













0












0








0







To reverse the order of the vertices within the CIRCULARSTRING I would suggest to use ST_Reverse, but it actually doesn't work with CIRCULARSTRING: it returns no error, but returns the original geometry unaltered.



Therefore, I suggest this workaround:



  1. Convert the geometry to text - ST_AsText

  2. Replace the CIRCULARSTRING for LINESTRING in the WKT of the geometry

  3. Create a LINESTRING from the text - ST_GeomFromText

  4. Reverse the LINESTRING - ST_Reverse

  5. Convert the resulting geometry to text - ST_AsText

  6. Replace the LINESTRING for CIRCULARSTRING in the WKT of the geometry

  7. Create a CIRCULARSTRING from the text - ST_GeomFromText

Here's the sample code:



WITH t AS
(
SELECT ST_GeomFromText('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)') AS geom
)
SELECT
ST_AsText(
ST_GeomFromText(
REPLACE(ST_AsText(
ST_Reverse(
ST_GeomFromText(REPLACE(ST_AsText(geom), 'CIRCULARSTRING', 'LINESTRING'))
)
), 'LINESTRING', 'CIRCULARSTRING')
)
)
FROM t


Result from the query above: "CIRCULARSTRING(5 2,-4 2,-2 1,-3 1.999999,5 2)"



enter image description here






share|improve this answer















To reverse the order of the vertices within the CIRCULARSTRING I would suggest to use ST_Reverse, but it actually doesn't work with CIRCULARSTRING: it returns no error, but returns the original geometry unaltered.



Therefore, I suggest this workaround:



  1. Convert the geometry to text - ST_AsText

  2. Replace the CIRCULARSTRING for LINESTRING in the WKT of the geometry

  3. Create a LINESTRING from the text - ST_GeomFromText

  4. Reverse the LINESTRING - ST_Reverse

  5. Convert the resulting geometry to text - ST_AsText

  6. Replace the LINESTRING for CIRCULARSTRING in the WKT of the geometry

  7. Create a CIRCULARSTRING from the text - ST_GeomFromText

Here's the sample code:



WITH t AS
(
SELECT ST_GeomFromText('CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)') AS geom
)
SELECT
ST_AsText(
ST_GeomFromText(
REPLACE(ST_AsText(
ST_Reverse(
ST_GeomFromText(REPLACE(ST_AsText(geom), 'CIRCULARSTRING', 'LINESTRING'))
)
), 'LINESTRING', 'CIRCULARSTRING')
)
)
FROM t


Result from the query above: "CIRCULARSTRING(5 2,-4 2,-2 1,-3 1.999999,5 2)"



enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Aug 2 '18 at 12:09

























answered Aug 2 '18 at 11:53









Carlos MSFCarlos MSF

427215




427215












  • Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

    – blackgis
    Aug 3 '18 at 12:16






  • 1





    In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

    – Carlos MSF
    Aug 3 '18 at 14:19












  • Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

    – blackgis
    Aug 3 '18 at 15:48

















  • Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

    – blackgis
    Aug 3 '18 at 12:16






  • 1





    In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

    – Carlos MSF
    Aug 3 '18 at 14:19












  • Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

    – blackgis
    Aug 3 '18 at 15:48
















Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

– blackgis
Aug 3 '18 at 12:16





Awesome input, but reverse is not my question at all. The question is how i can make a new start and endpoint from a given CIRCULARSTRING. The given CIRCULARSTRING has already a start and end point, like in my example (CIRCULARSTRING(5 2,-3 1.999999, -2 1, -4 2, 5 2)) the start and endpoint would be 5 2(first index position) and 5 2 (last index position). As it is circular i thought there is maybe an easy solution to define a new start and end point at some normalized (0-1) distance from the first index position.

– blackgis
Aug 3 '18 at 12:16




1




1





In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

– Carlos MSF
Aug 3 '18 at 14:19






In your question, the first line says that one of the objectives was to "change the order of the coordinates inside a circular string", which I interpreted as reversing the geometry. As for the extracting part of the geometry, as referred in previous comments, there are no native functions that would work with CIRCULARSTRING. You would have to convert it into linestring (check ST_CurveToLine) to then be able to use ST_LineSubstring. If you want to work only with the original vertices and put then in a different order, try to convert the coordinates to an array

– Carlos MSF
Aug 3 '18 at 14:19














Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

– blackgis
Aug 3 '18 at 15:48





Thanks for pointing that out, i will and have to use the coordinates as it seems that there is no way around, i just wanted to avoid extra steps when there could be a fency postgis function for that

– blackgis
Aug 3 '18 at 15:48

















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%2f291353%2fcircular-linestring-make-a-new-start-and-endpoint-alonge-the-line-with-normali%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

រឿង រ៉ូមេអូ និង ហ្ស៊ុយលីយេ សង្ខេបរឿង តួអង្គ បញ្ជីណែនាំ

QGIS export composer to PDF scale the map [closed] Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Print Composer QGIS 2.6, how to export image?QGIS 2.8.1 print composer won't export all OpenCycleMap base layer tilesSave Print/Map QGIS composer view as PNG/PDF using Python (without changing anything in visible layout)?Export QGIS Print Composer PDF with searchable text labelsQGIS Print Composer does not change from landscape to portrait orientation?How can I avoid map size and scale changes in print composer?Fuzzy PDF export in QGIS running on macSierra OSExport the legend into its 100% size using Print ComposerScale-dependent rendering in QGIS PDF output

PDF-ში გადმოწერა სანავიგაციო მენიუproject page