GeoJSON FeatureCollection — это структура данных, используемая для хранения набора географических объектов в формате GeoJSON. Каждый объект в коллекции представляет собой определенный географический объект, например точку, линию или полигон. Вот несколько методов и примеров кода для работы с GeoJSON FeatureCollections:
-
Разбор коллекции объектов GeoJSON:
import json def parse_feature_collection(geojson): data = json.loads(geojson) features = data['features'] # Process each feature as needed for feature in features: # Access feature properties and geometry properties = feature['properties'] geometry = feature['geometry'] # Perform operations on each feature # ... # Example usage geojson = '{"type": "FeatureCollection", "features": [...]}' # Replace [...] with actual features parse_feature_collection(geojson) -
Перебор функций в FeatureCollection:
def iterate_feature_collection(feature_collection): for feature in feature_collection['features']: # Access feature properties and geometry properties = feature['properties'] geometry = feature['geometry'] # Perform operations on each feature # ... # Example usage feature_collection = { "type": "FeatureCollection", "features": [ {"type": "Feature", "properties": {...}, "geometry": {...}}, {"type": "Feature", "properties": {...}, "geometry": {...}}, # Add more features as needed ] } iterate_feature_collection(feature_collection) -
Фильтрация объектов по свойствам:
def filter_features_by_property(feature_collection, property_name, property_value): filtered_features = [feature for feature in feature_collection['features'] if feature['properties'].get(property_name) == property_value] return filtered_features # Example usage feature_collection = { "type": "FeatureCollection", "features": [ {"type": "Feature", "properties": {"name": "City A"}, "geometry": {...}}, {"type": "Feature", "properties": {"name": "City B"}, "geometry": {...}}, {"type": "Feature", "properties": {"name": "City C"}, "geometry": {...}}, ] } filtered_features = filter_features_by_property(feature_collection, 'name', 'City B') print(filtered_features) -
Извлечение геометрии из объектов:
def extract_geometries(feature_collection): geometries = [feature['geometry'] for feature in feature_collection['features']] return geometries # Example usage feature_collection = { "type": "FeatureCollection", "features": [ {"type": "Feature", "properties": {...}, "geometry": {...}}, {"type": "Feature", "properties": {...}, "geometry": {...}}, # Add more features as needed ] } geometries = extract_geometries(feature_collection) print(geometries)