用于对geojson数据执行查询和转换的库(重点是支持抽象图形表示)。

geoql的Python项目详细描述


用于对geojson数据执行查询和转换的库(重点是支持抽象图形表示)。

软件包安装和使用

PYPI上提供该软件包:

python -m pip install geoql

库可以用通常的方式导入:

import geoql
from geoql import geoql

示例

用法示例如下:

import geojson
from geoql import geoql
import geoleaflet
import requests

url = 'https://raw.githubusercontent.com/Data-Mechanics/geoql/master/examples/'

# Boston ZIP Codes regions.
z = geoql.loads(requests.get(url + 'example_zips.geojson').text, encoding="latin-1")

# Extract of street data.
g = geoql.loads(requests.get(url + 'example_extract.geojson').text, encoding="latin-1")

g = g.properties_null_remove()\
     .tags_parse_str_to_dict()\
     .keep_by_property({"highway": {"$in": ["residential", "secondary", "tertiary"]}})
g = g.keep_within_radius((42.3551, -71.0656), 0.75, 'miles') # 0.75 miles from Boston Common.
g = g.keep_that_intersect(z) # Only those entries found in a Boston ZIP Code regions.
g = g.node_edge_graph() # Converted into a graph with nodes and edges.
g.dump(open('example_extract.geojson', 'w'))
open('leaflet.html', 'w').write(geoleaflet.html(g)) # Create visualization.

下面提供了另一个用法示例(下面的用法已弃用,但仍受支持):

import geojson
import geoql
import geoleaflet
import requests

url = 'https://raw.githubusercontent.com/Data-Mechanics/geoql/master/examples/'

# Boston ZIP Codes regions.
z = geojson.loads(requests.get(url + 'example_zips.geojson').text, encoding="latin-1")

# Extract of street data.
g = geojson.loads(requests.get(url + 'example_extract.geojson').text, encoding="latin-1")

g = geoql.features_properties_null_remove(g)
g = geoql.features_tags_parse_str_to_dict(g)
g = geoql.features_keep_by_property(g, {"highway": {"$in": ["residential", "secondary", "tertiary"]}})
g = geoql.features_keep_within_radius(g, (42.3551, -71.0656), 0.75, 'miles') # Within 0.75 of Boston Common.
g = geoql.features_keep_intersecting_features(g, z) # Only those entries found in a Boston ZIP Code regions.
g = geoql.features_node_edge_graph(g) # Converted into a graph with nodes and edges.
open('example_extract.geojson', 'w').write(geojson.dumps(g))
open('leaflet.html', 'w').write(geoleaflet.html(g)) # Create visualization.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从Struts操作的钩子更改表单值(Liferay 6.2)   java如何改变Spring MVC处理url“点”字符的行为   Clojure中使用Java接口的问题   junit如何模拟comosDB azure java集成客户端?   运行函数时发生java错误   netbeans Java。jar文件和依赖项   Eclipse中文本字段中的java输入类型   在JAVA中,将集合变量从实时批处理运行时传递到调用批处理文件   java通过Bean验证API中的自定义消息管理异常   XML到json的转换,在Java中,同时保留数据类型   根据JAVA中的列名从Excel文件中获取单元格值   在AsyncTask的doInBackground中未调用java FirebaseMessagingService   java如何在数据库中插入一行?