Home > Blockchain >  python: convert parenthesis to bracket
python: convert parenthesis to bracket

Time:09-18

I need to check if longitude, latitude is in polygon in Python 3. The code below works, but I have a problem putting data from variable.

lng_lat = Point(42.01410106690003, 20.97770690917969)

#this is how I need to add data
polygon = Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])
print(lng_lat.within(poly))

but my data are like this (I get data from json file with json.load)

coordinate[0]=[[20.94320297241211, 41.99777372492389], [20.923118591308594, 41.98578066472604] , [20.917625427246094, 41.970467091533], [20.936164855957028, 41.94825586972943]]

How can I pass data from coordinates[0] to polygon which requires ( ) instead of [ ]

and this doesn't work

polygon = Polygon(coordinates[0])

CodePudding user response:

It isn't clear whether they need to be tuples or Point instances...

Also your print statement is trying to print poly which doesn't exist in the code you included.

lng_lat = Point(42.01410106690003, 20.97770690917969)

coordinate[0]=[[20.94320297241211, 41.99777372492389], [20.923118591308594, 41.98578066472604] , [20.917625427246094, 41.970467091533], [20.936164855957028, 41.94825586972943]]

If tuples then:

data = [tuple(i) for i in coorinate[0]]
polygon = Polygon(data)
print(lng_lat.within(polygon))

and if they need to be Point Instances:

data = [Point(i) for i in coorinate[0]]
polygon = Polygon(data)
print(lng_lat.within(polygon))
  • Related