count points where is within the polygons using shapely and fiona
Peter Pearson
pkpearson at nowhere.invalid
Sun Jan 29 20:06:24 EST 2017
On Sun, 29 Jan 2017 11:42:47 -0800 (PST), Xristos Xristoou wrote:
> i tried to count points from the point shapefile where is within in
> the polygon shapefile but i fail.Maybe my code is complete wrong but i
> tried.
> any idea how to fix my code ?
> i want fast method because i have big data features
> from shapely.geometry import shape
> import fiona
>
> filepath1 = "point.shp"
> file1features = []
> intersectfeatures_file1 = []
> intersectfeatures_file2 = []
> count =0
> count=count+1
This is an illogical place to increment count.
> outschema = None
> with fiona.collection(filepath1, "r") as input1:
> outschema = input1.schema.copy()
> for p1 in input1:
> file1features.append(p1)
I believe you could also say file1features = list(input1).
> filepath2 = "polygon.shp"
> with fiona.collection(filepath2, "r") as input2:
> for p2 in input2:
> for p1 in file1features:
> [count for i in [shape(p1['geometry']).within(shape(p2['geometry']))]]
The above line produces a list that is discarded because it is not
assigned any name.
> if p1 not in intersectfeatures_file1:
> intersectfeatures_file1.append(p1)
> if p2 not in intersectfeatures_file2:
> intersectfeatures_file2.append(p2)
>
> print count
> '''
> if intersectfeatures_file1:
> outfile = "outputfile1.shp"
> with fiona.collection(outfile, "w", "ESRI Shapefile", outschema) as output:
> for outfeature in intersectfeatures:
> output.write(outfeature)
> if intersectfeatures_file2:
> outfile = "outputfile2.shp"
> with fiona.collection(outfile, "w", "ESRI Shapefile", outschema) as output:
> for outfeature in intersectfeatures:
> output.write(outfeature)
> '''
The above lines between triple quotes should have been omitted
from this post.
> on the print count i take 20 times the number 1. after for this count i want to export to new shapefile the polygons where have specific number of points. thnx
--
To email me, substitute nowhere->runbox, invalid->com.
More information about the Python-list
mailing list