【问题标题】:python regular expression for extracting coordinates用于提取坐标的python正则表达式
【发布时间】:2012-05-14 13:32:22
【问题描述】:

有人可以帮助我使用正则表达式来提取此列表中 MULTIPOLYGON 中的 3-D 坐标:

[(1,
  'public Library',
  'SRID=4326;MULTIPOLYGON(((352877.02163887 1233618.83923531 5,352872.32998848 1233609.44478035 5,352867.693426132 1233612.15611458 5,352861.67354393 1233602.76770592 5,352841.814386368 1233616.9818058 5,352848.495328903 1233625.69463921 5,352861.076768875 1233617.56668663 5,352866.429475784 1233626.28557014 5,352877.02163887 1233618.83923531 5)))')]

【问题讨论】:

标签: regex


【解决方案1】:

我认为这个正则表达式可能会在您的字符串中找到您要查找的内容:'([\d.]+?)\s([\d.]+?)\s([\d.]+? )'

我用 python 对其进行了测试,它返回了一个坐标列表:

import re
foo = "SRID=4326;MULTIPOLYGON(((352877.02163887 1233618.83923531 5,352872.32998848 1233609.44478035 5,352867.693426132 1233612.15611458 5,352861.67354393 1233602.76770592 5,352841.814386368 1233616.9818058 5,352848.495328903 1233625.69463921 5,352861.076768875 1233617.56668663 5,352866.429475784 1233626.28557014 5,352877.02163887 1233618.83923531 5)))"
print re.findall('([\d.]+?)\s([\d.]+?)\s([\d.]+?)', foo)

打印出来:

[('352877.02163887', '1233618.83923531', '5'), ('352872.32998848', '1233609.44478035', '5'), ('352867.693426132', '1233612.15611458', '5'), ('352861.67354393', '1233602.76770592', '5'), ('352841.814386368', '1233616.9818058', '5'), ('352848.495328903', '1233625.69463921', '5'), ('352861.076768875', '1233617.56668663', '5'), ('352866.429475784', '1233626.28557014', '5'), ('352877.02163887', '123361 8.83923531', '5')]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-21
    • 2021-01-17
    • 2020-12-19
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多