Terse Method to Swap Lowest for Highest?Efficient method for Inserting arrays into arraysSwap elements in list without copyBetter method to swap the values of two 2-D arraysHow to get this list with a terse methodBuilt-in (or Terse) Method to Combine and Transpose DatasetsAre there more readable and terse method can get this listefficiently method for generating a sequenceSimple method to sort versionsFunction for SortBySwap Elements of a continuous List, possible?

Why isn't nylon as strong as kevlar?

Hyperlink on red background

Getting a W on your transcript for grad school applications

What is the most remote airport from the center of the city it supposedly serves?

Set collection doesn't always enforce uniqueness with the Date datatype? Does the following example seem correct?

How do I tell my manager that his code review comment is wrong?

Can hackers enable the camera after the user disabled it?

Using column size much larger than necessary

How can I close a gap between my fence and my neighbor's that's on his side of the property line?

How can I support myself financially as a 17 year old with a loan?

Missing Piece of Pie - Can you find it?

Why is "Vayechulu" said 3 times on Leil Shabbat?

How wide is a neg symbol, how to get the width for alignment?

How does this change to the opportunity attack rule impact combat?

How did Shepard's and Grissom's speeds compare with orbital velocity?

How can modem speed be 10 times slower than router?

How do I overfit?

What are the advantages of luxury car brands like Acura/Lexus over their sibling non-luxury brands Honda/Toyota?

Does a card have a keyword if it has the same effect as said keyword?

As matter approaches a black hole, does it speed up?

Why Isn’t SQL More Refactorable?

Why are prions in animal diets not destroyed by the digestive system?

In Avengers 1, why does Thanos need Loki?

What matters more when it comes to book covers? Is it ‘professional quality’ or relevancy?



Terse Method to Swap Lowest for Highest?


Efficient method for Inserting arrays into arraysSwap elements in list without copyBetter method to swap the values of two 2-D arraysHow to get this list with a terse methodBuilt-in (or Terse) Method to Combine and Transpose DatasetsAre there more readable and terse method can get this listefficiently method for generating a sequenceSimple method to sort versionsFunction for SortBySwap Elements of a continuous List, possible?













12












$begingroup$


I have built a solution to swap the lowest values with the highest values in a list.



With



SeedRandom[987]
test = RandomSample@*Join @@ Range @@@ 6, 10, 56, 60, 1, 5, -5, -1



-1, 2, 7, 8, 60, 57, 58, 10, 9, 4, -5, -3, 3, 59, 1, 5, -4, 6, -2, 56



Then



swapPositions =
PermutationReplace[
Ordering@Ordering@test,
With[len = Length@test,
Cycles@
Transpose@Range @@ 1, Floor[len/2], Reverse@*Range @@ Ceiling[len/2] + 1, len
]
];

Sort[test][[swapPositions]]



56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1



The largest half of the numbers have had their positions swapped with lowest half of the numbers.



However, it feels too verbose and I think Sort might be expensive in this case. Is there a built-in function or more terse method to achieve this. Of course with no loss in speed. The actual case is for list of length 100000 and more.










share|improve this question











$endgroup$
















    12












    $begingroup$


    I have built a solution to swap the lowest values with the highest values in a list.



    With



    SeedRandom[987]
    test = RandomSample@*Join @@ Range @@@ 6, 10, 56, 60, 1, 5, -5, -1



    -1, 2, 7, 8, 60, 57, 58, 10, 9, 4, -5, -3, 3, 59, 1, 5, -4, 6, -2, 56



    Then



    swapPositions =
    PermutationReplace[
    Ordering@Ordering@test,
    With[len = Length@test,
    Cycles@
    Transpose@Range @@ 1, Floor[len/2], Reverse@*Range @@ Ceiling[len/2] + 1, len
    ]
    ];

    Sort[test][[swapPositions]]



    56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1



    The largest half of the numbers have had their positions swapped with lowest half of the numbers.



    However, it feels too verbose and I think Sort might be expensive in this case. Is there a built-in function or more terse method to achieve this. Of course with no loss in speed. The actual case is for list of length 100000 and more.










    share|improve this question











    $endgroup$














      12












      12








      12





      $begingroup$


      I have built a solution to swap the lowest values with the highest values in a list.



      With



      SeedRandom[987]
      test = RandomSample@*Join @@ Range @@@ 6, 10, 56, 60, 1, 5, -5, -1



      -1, 2, 7, 8, 60, 57, 58, 10, 9, 4, -5, -3, 3, 59, 1, 5, -4, 6, -2, 56



      Then



      swapPositions =
      PermutationReplace[
      Ordering@Ordering@test,
      With[len = Length@test,
      Cycles@
      Transpose@Range @@ 1, Floor[len/2], Reverse@*Range @@ Ceiling[len/2] + 1, len
      ]
      ];

      Sort[test][[swapPositions]]



      56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1



      The largest half of the numbers have had their positions swapped with lowest half of the numbers.



      However, it feels too verbose and I think Sort might be expensive in this case. Is there a built-in function or more terse method to achieve this. Of course with no loss in speed. The actual case is for list of length 100000 and more.










      share|improve this question











      $endgroup$




      I have built a solution to swap the lowest values with the highest values in a list.



      With



      SeedRandom[987]
      test = RandomSample@*Join @@ Range @@@ 6, 10, 56, 60, 1, 5, -5, -1



      -1, 2, 7, 8, 60, 57, 58, 10, 9, 4, -5, -3, 3, 59, 1, 5, -4, 6, -2, 56



      Then



      swapPositions =
      PermutationReplace[
      Ordering@Ordering@test,
      With[len = Length@test,
      Cycles@
      Transpose@Range @@ 1, Floor[len/2], Reverse@*Range @@ Ceiling[len/2] + 1, len
      ]
      ];

      Sort[test][[swapPositions]]



      56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1



      The largest half of the numbers have had their positions swapped with lowest half of the numbers.



      However, it feels too verbose and I think Sort might be expensive in this case. Is there a built-in function or more terse method to achieve this. Of course with no loss in speed. The actual case is for list of length 100000 and more.







      list-manipulation performance-tuning sorting permutation






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 23 at 2:15









      J. M. is away

      99k10311470




      99k10311470










      asked Mar 22 at 20:57









      EdmundEdmund

      26.9k330103




      26.9k330103




















          2 Answers
          2






          active

          oldest

          votes


















          15












          $begingroup$

          How about:



          Module[tmp = test,
          With[ord=Ordering[tmp],
          tmp[[ord]] = Reverse @ tmp[[ord]]];
          tmp
          ]



          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1







          share|improve this answer









          $endgroup$








          • 1




            $begingroup$
            That is so obvious I want to cry. Thanks (+1).
            $endgroup$
            – Edmund
            Mar 22 at 21:15


















          7












          $begingroup$

          This is equivalent to Carl's procedure, except that it uses one less scratch list:



          With[ord = Ordering[test],
          test[[PermutationProduct[Reverse[ord], InversePermutation[ord]]]]]
          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1


          Recall that list[[perm]] = list is equivalent to list = list[[InversePermutation[perm]]], where perm is a permutation list. (The situation is equivalent to list.pmat being the same as Transpose[pmat].list if pmat is a permutation matrix.) You can then use PermutationProduct[] to compose successive permutations.



          (This was supposed to be a comment, but it got too long.)






          share|improve this answer











          $endgroup$












          • $begingroup$
            This solution doesn't copy the list so may be faster than Carl's. (+1).
            $endgroup$
            – Edmund
            Mar 23 at 3:38










          • $begingroup$
            FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:01











          • $begingroup$
            @Rabbit, what version number of Mathematica is giving that result?
            $endgroup$
            – J. M. is away
            Mar 23 at 16:10










          • $begingroup$
            11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:16






          • 1




            $begingroup$
            At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
            $endgroup$
            – CElliott
            Apr 3 at 14:10












          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "387"
          ;
          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%2fmathematica.stackexchange.com%2fquestions%2f193790%2fterse-method-to-swap-lowest-for-highest%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









          15












          $begingroup$

          How about:



          Module[tmp = test,
          With[ord=Ordering[tmp],
          tmp[[ord]] = Reverse @ tmp[[ord]]];
          tmp
          ]



          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1







          share|improve this answer









          $endgroup$








          • 1




            $begingroup$
            That is so obvious I want to cry. Thanks (+1).
            $endgroup$
            – Edmund
            Mar 22 at 21:15















          15












          $begingroup$

          How about:



          Module[tmp = test,
          With[ord=Ordering[tmp],
          tmp[[ord]] = Reverse @ tmp[[ord]]];
          tmp
          ]



          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1







          share|improve this answer









          $endgroup$








          • 1




            $begingroup$
            That is so obvious I want to cry. Thanks (+1).
            $endgroup$
            – Edmund
            Mar 22 at 21:15













          15












          15








          15





          $begingroup$

          How about:



          Module[tmp = test,
          With[ord=Ordering[tmp],
          tmp[[ord]] = Reverse @ tmp[[ord]]];
          tmp
          ]



          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1







          share|improve this answer









          $endgroup$



          How about:



          Module[tmp = test,
          With[ord=Ordering[tmp],
          tmp[[ord]] = Reverse @ tmp[[ord]]];
          tmp
          ]



          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1








          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 22 at 21:11









          Carl WollCarl Woll

          76.8k3101201




          76.8k3101201







          • 1




            $begingroup$
            That is so obvious I want to cry. Thanks (+1).
            $endgroup$
            – Edmund
            Mar 22 at 21:15












          • 1




            $begingroup$
            That is so obvious I want to cry. Thanks (+1).
            $endgroup$
            – Edmund
            Mar 22 at 21:15







          1




          1




          $begingroup$
          That is so obvious I want to cry. Thanks (+1).
          $endgroup$
          – Edmund
          Mar 22 at 21:15




          $begingroup$
          That is so obvious I want to cry. Thanks (+1).
          $endgroup$
          – Edmund
          Mar 22 at 21:15











          7












          $begingroup$

          This is equivalent to Carl's procedure, except that it uses one less scratch list:



          With[ord = Ordering[test],
          test[[PermutationProduct[Reverse[ord], InversePermutation[ord]]]]]
          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1


          Recall that list[[perm]] = list is equivalent to list = list[[InversePermutation[perm]]], where perm is a permutation list. (The situation is equivalent to list.pmat being the same as Transpose[pmat].list if pmat is a permutation matrix.) You can then use PermutationProduct[] to compose successive permutations.



          (This was supposed to be a comment, but it got too long.)






          share|improve this answer











          $endgroup$












          • $begingroup$
            This solution doesn't copy the list so may be faster than Carl's. (+1).
            $endgroup$
            – Edmund
            Mar 23 at 3:38










          • $begingroup$
            FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:01











          • $begingroup$
            @Rabbit, what version number of Mathematica is giving that result?
            $endgroup$
            – J. M. is away
            Mar 23 at 16:10










          • $begingroup$
            11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:16






          • 1




            $begingroup$
            At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
            $endgroup$
            – CElliott
            Apr 3 at 14:10
















          7












          $begingroup$

          This is equivalent to Carl's procedure, except that it uses one less scratch list:



          With[ord = Ordering[test],
          test[[PermutationProduct[Reverse[ord], InversePermutation[ord]]]]]
          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1


          Recall that list[[perm]] = list is equivalent to list = list[[InversePermutation[perm]]], where perm is a permutation list. (The situation is equivalent to list.pmat being the same as Transpose[pmat].list if pmat is a permutation matrix.) You can then use PermutationProduct[] to compose successive permutations.



          (This was supposed to be a comment, but it got too long.)






          share|improve this answer











          $endgroup$












          • $begingroup$
            This solution doesn't copy the list so may be faster than Carl's. (+1).
            $endgroup$
            – Edmund
            Mar 23 at 3:38










          • $begingroup$
            FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:01











          • $begingroup$
            @Rabbit, what version number of Mathematica is giving that result?
            $endgroup$
            – J. M. is away
            Mar 23 at 16:10










          • $begingroup$
            11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:16






          • 1




            $begingroup$
            At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
            $endgroup$
            – CElliott
            Apr 3 at 14:10














          7












          7








          7





          $begingroup$

          This is equivalent to Carl's procedure, except that it uses one less scratch list:



          With[ord = Ordering[test],
          test[[PermutationProduct[Reverse[ord], InversePermutation[ord]]]]]
          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1


          Recall that list[[perm]] = list is equivalent to list = list[[InversePermutation[perm]]], where perm is a permutation list. (The situation is equivalent to list.pmat being the same as Transpose[pmat].list if pmat is a permutation matrix.) You can then use PermutationProduct[] to compose successive permutations.



          (This was supposed to be a comment, but it got too long.)






          share|improve this answer











          $endgroup$



          This is equivalent to Carl's procedure, except that it uses one less scratch list:



          With[ord = Ordering[test],
          test[[PermutationProduct[Reverse[ord], InversePermutation[ord]]]]]
          56, 9, 4, 3, -5, -2, -3, 1, 2, 7, 60, 58, 8, -4, 10, 6, 59, 5, 57, -1


          Recall that list[[perm]] = list is equivalent to list = list[[InversePermutation[perm]]], where perm is a permutation list. (The situation is equivalent to list.pmat being the same as Transpose[pmat].list if pmat is a permutation matrix.) You can then use PermutationProduct[] to compose successive permutations.



          (This was supposed to be a comment, but it got too long.)







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 23 at 2:27

























          answered Mar 23 at 2:14









          J. M. is awayJ. M. is away

          99k10311470




          99k10311470











          • $begingroup$
            This solution doesn't copy the list so may be faster than Carl's. (+1).
            $endgroup$
            – Edmund
            Mar 23 at 3:38










          • $begingroup$
            FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:01











          • $begingroup$
            @Rabbit, what version number of Mathematica is giving that result?
            $endgroup$
            – J. M. is away
            Mar 23 at 16:10










          • $begingroup$
            11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:16






          • 1




            $begingroup$
            At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
            $endgroup$
            – CElliott
            Apr 3 at 14:10

















          • $begingroup$
            This solution doesn't copy the list so may be faster than Carl's. (+1).
            $endgroup$
            – Edmund
            Mar 23 at 3:38










          • $begingroup$
            FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:01











          • $begingroup$
            @Rabbit, what version number of Mathematica is giving that result?
            $endgroup$
            – J. M. is away
            Mar 23 at 16:10










          • $begingroup$
            11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
            $endgroup$
            – Christopher Lamb
            Mar 23 at 16:16






          • 1




            $begingroup$
            At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
            $endgroup$
            – CElliott
            Apr 3 at 14:10
















          $begingroup$
          This solution doesn't copy the list so may be faster than Carl's. (+1).
          $endgroup$
          – Edmund
          Mar 23 at 3:38




          $begingroup$
          This solution doesn't copy the list so may be faster than Carl's. (+1).
          $endgroup$
          – Edmund
          Mar 23 at 3:38












          $begingroup$
          FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
          $endgroup$
          – Christopher Lamb
          Mar 23 at 16:01





          $begingroup$
          FWIW, I consistently get 56, -2, 6, -4, 5, 1, 59, 3, -3, -5, 4, 9, 10, 58, 57, 60, 8, 7, 2, -1 from this.
          $endgroup$
          – Christopher Lamb
          Mar 23 at 16:01













          $begingroup$
          @Rabbit, what version number of Mathematica is giving that result?
          $endgroup$
          – J. M. is away
          Mar 23 at 16:10




          $begingroup$
          @Rabbit, what version number of Mathematica is giving that result?
          $endgroup$
          – J. M. is away
          Mar 23 at 16:10












          $begingroup$
          11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
          $endgroup$
          – Christopher Lamb
          Mar 23 at 16:16




          $begingroup$
          11.3.0.0 (5944644, 2018030701) Win 10. I did a trace, which might have had the needed info but I didn't catch it. Started w/ fresh kernel, & repeated, w/ same result. Baffled.
          $endgroup$
          – Christopher Lamb
          Mar 23 at 16:16




          1




          1




          $begingroup$
          At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
          $endgroup$
          – CElliott
          Apr 3 at 14:10





          $begingroup$
          At least on my machine, the questioner's original (very verbose) proposed solution is faster than any other proposal. In order of presentation: 0.0000114366 v. 0.0000357762 v. 0.0000164219 (AbsoluteTiming in seconds).
          $endgroup$
          – CElliott
          Apr 3 at 14:10


















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Mathematica 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.

          Use MathJax to format equations. MathJax reference.


          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%2fmathematica.stackexchange.com%2fquestions%2f193790%2fterse-method-to-swap-lowest-for-highest%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

          Masuk log Menu navigasi

          Identifying “long and narrow” polygons in with PostGISlength and width of polygonWhy postgis st_overlaps reports Qgis' “avoid intersections” generated polygon as overlapping with others?Adjusting polygons to boundary and filling holesDrawing polygons with fixed area?How to remove spikes in Polygons with PostGISDeleting sliver polygons after difference operation in QGIS?Snapping boundaries in PostGISSplit polygon into parts adding attributes based on underlying polygon in QGISSplitting overlap between polygons and assign to nearest polygon using PostGIS?Expanding polygons and clipping at midpoint?Removing Intersection of Buffers in Same Layers

          Старые Смолеговицы Содержание История | География | Демография | Достопримечательности | Примечания | НавигацияHGЯOLHGЯOL41 206 832 01641 606 406 141Административно-территориальное деление Ленинградской области«Переписная оброчная книга Водской пятины 1500 года», С. 793«Карта Ингерманландии: Ивангорода, Яма, Копорья, Нотеборга», по материалам 1676 г.«Генеральная карта провинции Ингерманландии» Э. Белинга и А. Андерсина, 1704 г., составлена по материалам 1678 г.«Географический чертёж над Ижорскою землей со своими городами» Адриана Шонбека 1705 г.Новая и достоверная всей Ингерманландии ланткарта. Грав. А. Ростовцев. СПб., 1727 г.Топографическая карта Санкт-Петербургской губернии. 5-и верстка. Шуберт. 1834 г.Описание Санкт-Петербургской губернии по уездам и станамСпецкарта западной части России Ф. Ф. Шуберта. 1844 г.Алфавитный список селений по уездам и станам С.-Петербургской губернииСписки населённых мест Российской Империи, составленные и издаваемые центральным статистическим комитетом министерства внутренних дел. XXXVII. Санкт-Петербургская губерния. По состоянию на 1862 год. СПб. 1864. С. 203Материалы по статистике народного хозяйства в С.-Петербургской губернии. Вып. IX. Частновладельческое хозяйство в Ямбургском уезде. СПб, 1888, С. 146, С. 2, 7, 54Положение о гербе муниципального образования Курское сельское поселениеСправочник истории административно-территориального деления Ленинградской области.Топографическая карта Ленинградской области, квадрат О-35-23-В (Хотыницы), 1930 г.АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1933, С. 27, 198АрхивированоАдминистративно-экономический справочник по Ленинградской области. — Л., 1936, с. 219АрхивированоАдминистративно-территориальное деление Ленинградской области. — Л., 1966, с. 175АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1973, С. 180АрхивированоАдминистративно-территориальное деление Ленинградской области. — Лениздат, 1990, ISBN 5-289-00612-5, С. 38АрхивированоАдминистративно-территориальное деление Ленинградской области. — СПб., 2007, с. 60АрхивированоКоряков Юрий База данных «Этно-языковой состав населённых пунктов России». Ленинградская область.Административно-территориальное деление Ленинградской области. — СПб, 1997, ISBN 5-86153-055-6, С. 41АрхивированоКультовый комплекс Старые Смолеговицы // Электронная энциклопедия ЭрмитажаПроблемы выявления, изучения и сохранения культовых комплексов с каменными крестами: по материалам работ 2016-2017 гг. в Ленинградской области