Touching Polygon IntersectionCalculating intersection between points and polygon in shapefileDetermine if...

How to write papers efficiently when English isn't my first language?

How easy is it to start Magic from scratch?

What is the best translation for "slot" in the context of multiplayer video games?

How do scammers retract money, while you can’t?

How to check is there any negative term in a large list?

Italian words for tools

How to draw lines on a tikz-cd diagram

How did Doctor Strange see the winning outcome in Avengers: Infinity War?

What is paid subscription needed for in Mortal Kombat 11?

Failed to fetch jessie backports repository

Proof of work - lottery approach

What happens if you roll doubles 3 times then land on "Go to jail?"

Closest Prime Number

How do we know the LHC results are robust?

Implement the Thanos sorting algorithm

Is it okay for two “sein” to be next to each other?

Pole-zeros of a real-valued causal FIR system

Does this power sequence converge or diverge? If it converges, what is the limit?

Two monoidal structures and copowering

Lay out the Carpet

Anatomically Correct Strange Women In Ponds Distributing Swords

Large drywall patch supports

System.debug(JSON.Serialize(o)) Not longer shows full string

Nautlius: add mouse right-click action to compute MD5 sum



Touching Polygon Intersection


Calculating intersection between points and polygon in shapefileDetermine if point is within an irregular polygon using PythonAdding a Property (attribute) to a geometry in Shapely/FionaIntersection postgis TopologyExceptionLine vs. Polygon Intersection CoordinatesMulti-part Geometrical Intersection errorPolygon intersection with LineString in PostGisEditing touching polygons simultaneously?Geopandas Line Polygon IntersectionHow is intersection implemented in Shapely?













0















I have two touching Polygons (two neighbouring counties) and there intersection is a MultiLineString, where:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))  
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[0]
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[1]


gives:



924
LINESTRING (-7.1060859 53.1680546, -7.1061766 53.1678101)
LINESTRING (-7.1061766 53.1678101, -7.1072205 53.1666679)


I would have expected instead:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))
len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms)[0])


to give:



1
924


why is intersection giving the result like this? I wish to simplify the borders between a set of bordering counties by reducing the number of points, while at the same time preserving topology.










share|improve this question














bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
















  • Without knowing your data, this is guesswork.

    – inc42
    Aug 4 '18 at 9:11
















0















I have two touching Polygons (two neighbouring counties) and there intersection is a MultiLineString, where:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))  
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[0]
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[1]


gives:



924
LINESTRING (-7.1060859 53.1680546, -7.1061766 53.1678101)
LINESTRING (-7.1061766 53.1678101, -7.1072205 53.1666679)


I would have expected instead:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))
len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms)[0])


to give:



1
924


why is intersection giving the result like this? I wish to simplify the borders between a set of bordering counties by reducing the number of points, while at the same time preserving topology.










share|improve this question














bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
















  • Without knowing your data, this is guesswork.

    – inc42
    Aug 4 '18 at 9:11














0












0








0








I have two touching Polygons (two neighbouring counties) and there intersection is a MultiLineString, where:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))  
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[0]
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[1]


gives:



924
LINESTRING (-7.1060859 53.1680546, -7.1061766 53.1678101)
LINESTRING (-7.1061766 53.1678101, -7.1072205 53.1666679)


I would have expected instead:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))
len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms)[0])


to give:



1
924


why is intersection giving the result like this? I wish to simplify the borders between a set of bordering counties by reducing the number of points, while at the same time preserving topology.










share|improve this question














I have two touching Polygons (two neighbouring counties) and there intersection is a MultiLineString, where:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))  
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[0]
list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms )[1]


gives:



924
LINESTRING (-7.1060859 53.1680546, -7.1061766 53.1678101)
LINESTRING (-7.1061766 53.1678101, -7.1072205 53.1666679)


I would have expected instead:



len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms))
len(list(counties["King's Co."].intersection(counties["Queen's Co."]).geoms)[0])


to give:



1
924


why is intersection giving the result like this? I wish to simplify the borders between a set of bordering counties by reducing the number of points, while at the same time preserving topology.







topology shapely matplotlib






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 17 '18 at 20:51









BazBaz

1022




1022





bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.







bumped to the homepage by Community 4 mins ago


This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.















  • Without knowing your data, this is guesswork.

    – inc42
    Aug 4 '18 at 9:11



















  • Without knowing your data, this is guesswork.

    – inc42
    Aug 4 '18 at 9:11

















Without knowing your data, this is guesswork.

– inc42
Aug 4 '18 at 9:11





Without knowing your data, this is guesswork.

– inc42
Aug 4 '18 at 9:11










1 Answer
1






active

oldest

votes


















0














In your case;





  • mls = a.intersection(b) returns MultiLineString.



  • len(mls)gives you lines' count in mls.


  • gs = mls.geomsreturns GeometrySequenceand len(gs) equals len(mls).


So, len(mls) = len(mls.geoms) = len(list(mls)) = len(list(mls.geoms)).
More specifically, it's all about __len__() special class method definition.



Note that len(list(mls)) equals len(list(mls.geoms)), however, list(mls)==list(mls.geoms) returns False(but, of course, lines in the lists have similar geometry)






share|improve this answer
























  • But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

    – Baz
    Mar 18 '18 at 8:46











  • There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

    – Kadir Şahbaz
    Mar 18 '18 at 18:51













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%2f276186%2ftouching-polygon-intersection%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














In your case;





  • mls = a.intersection(b) returns MultiLineString.



  • len(mls)gives you lines' count in mls.


  • gs = mls.geomsreturns GeometrySequenceand len(gs) equals len(mls).


So, len(mls) = len(mls.geoms) = len(list(mls)) = len(list(mls.geoms)).
More specifically, it's all about __len__() special class method definition.



Note that len(list(mls)) equals len(list(mls.geoms)), however, list(mls)==list(mls.geoms) returns False(but, of course, lines in the lists have similar geometry)






share|improve this answer
























  • But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

    – Baz
    Mar 18 '18 at 8:46











  • There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

    – Kadir Şahbaz
    Mar 18 '18 at 18:51


















0














In your case;





  • mls = a.intersection(b) returns MultiLineString.



  • len(mls)gives you lines' count in mls.


  • gs = mls.geomsreturns GeometrySequenceand len(gs) equals len(mls).


So, len(mls) = len(mls.geoms) = len(list(mls)) = len(list(mls.geoms)).
More specifically, it's all about __len__() special class method definition.



Note that len(list(mls)) equals len(list(mls.geoms)), however, list(mls)==list(mls.geoms) returns False(but, of course, lines in the lists have similar geometry)






share|improve this answer
























  • But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

    – Baz
    Mar 18 '18 at 8:46











  • There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

    – Kadir Şahbaz
    Mar 18 '18 at 18:51
















0












0








0







In your case;





  • mls = a.intersection(b) returns MultiLineString.



  • len(mls)gives you lines' count in mls.


  • gs = mls.geomsreturns GeometrySequenceand len(gs) equals len(mls).


So, len(mls) = len(mls.geoms) = len(list(mls)) = len(list(mls.geoms)).
More specifically, it's all about __len__() special class method definition.



Note that len(list(mls)) equals len(list(mls.geoms)), however, list(mls)==list(mls.geoms) returns False(but, of course, lines in the lists have similar geometry)






share|improve this answer













In your case;





  • mls = a.intersection(b) returns MultiLineString.



  • len(mls)gives you lines' count in mls.


  • gs = mls.geomsreturns GeometrySequenceand len(gs) equals len(mls).


So, len(mls) = len(mls.geoms) = len(list(mls)) = len(list(mls.geoms)).
More specifically, it's all about __len__() special class method definition.



Note that len(list(mls)) equals len(list(mls.geoms)), however, list(mls)==list(mls.geoms) returns False(but, of course, lines in the lists have similar geometry)







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 18 '18 at 0:33









Kadir ŞahbazKadir Şahbaz

4,48721231




4,48721231













  • But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

    – Baz
    Mar 18 '18 at 8:46











  • There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

    – Kadir Şahbaz
    Mar 18 '18 at 18:51





















  • But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

    – Baz
    Mar 18 '18 at 8:46











  • There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

    – Kadir Şahbaz
    Mar 18 '18 at 18:51



















But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

– Baz
Mar 18 '18 at 8:46





But why do I get these 2 point LINESTRINGs? I would like a LINESTRING containing all the boarding points, presuming the counties have a single border with each other.

– Baz
Mar 18 '18 at 8:46













There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

– Kadir Şahbaz
Mar 18 '18 at 18:51







There is probably a small gap between them or the points that you think are overlapping in the two counties' polygon are not actually overlapping.

– Kadir Şahbaz
Mar 18 '18 at 18:51




















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%2f276186%2ftouching-polygon-intersection%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

(145452) 2005 RN43 Классификация | Примечания | Ссылки |...

Щит и меч (фильм) Содержание Названия серий | Сюжет |...

Энтрерриос (город) Содержание История | Географическое...