tree=etree.parse(BytesIO(r.content)) root=tree.getroot() geom=root.find('.//{http://www.opengis.net/gml/3.2}MultiSurface') geom_ogr=ogr.CreateGeometryFromGML(etree.tostring(geom).decode()) return geom_ogr.ExportToWkt() else: return 'WFS no works' # %% #for the case when data has to be downloaded externally initialization of requests session variable with setting of number of retries s = requests.Session() retries = Retry(total=5, backoff_factor=1, status_forcelist=[ 502, 503, 504 ]) s.mount('http://', HTTPAdapter(max_retries=retries)) # %% replacement_dictionary = {"[posledni_den_mesice]":(datetime.datetime.today().replace(day=1)-datetime.timedelta(days=1)).strftime('%Y%m%d'),"[lpis_cz__posledni_aktualizace]":lpis_cz__posledni_aktualizace().strftime('%Y%m%d'), "[vcera]":(datetime.datetime.today().replace(day=1)-datetime.timedelta(days=1)).strftime('%Y%m%d')} json_feature_structure=[{"name":"id","type":"serial primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"}] json_feature_with_bigid_structure=[{"name":"id","type":"bigint primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"}] json_admin_unit_structure=[{"name":"id","type":"integer primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"level","type":"integer"},{"name":"parent_id","type":"text"}] json_admin_unit_structure_at=[{"name":"id","type":"text primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"level","type":"integer"},{"name":"parent_id","type":"text"}] json_feature_with_raster_structure=[{"name":"id","type":"serial primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"raster_maps","type":"raster"}] # %% admunit_cz__metadata=MetaData('Administrative units in Czech Republic', {"url":"https://vdp.cuzk.cz/vymenny_format/soucasna/[posledni_den_mesice]_ST_UKSG.xml.zip", "format":"GML", "compression":"zip"},'data') # %% admunit_cz__ds=ds_from_metadata(admunit_cz__metadata) admunit_cz=GeoConcept('Administrative units in Czech Republic','Administrative units in Czech Republic. All levels.', 'AdmUnitFeature',json_admin_unit_structure, data_source=admunit_cz__ds, subgeoconcepts=[] )
'slope_image':{'object':slope_im},\ 'azimuth_image':{'object':aspect_im},\ 'twi_image':{'object':twi_im},\ 'attribute_properties':{'function':(lambda u, v, w, x,y,z: {**{'fid':u},**{'dataset_id':5},**{'atts':{'elevation':Imagee(*w.clip_by_shape(v)).get_statistics()['mean'], 'slope':Imagee(*x.clip_by_shape(v)).get_statistics()['mean'], 'azimuth':Imagee(*y.clip_by_shape(v)).get_statistics()['mean'], 'twi':Imagee(*z.clip_by_shape(v)).get_statistics()['mean']} } }),'parameters':['attributes_fid','feature_geometry','dem_image', 'slope_image', 'azimuth_image', 'twi_image']}, 'attributes_insert_statement':{'function':(lambda x, y,z: "INSERT INTO %s (fid,atts,dataset_fid) VALUES (%s,('%s'::json),%s)" % (x,y,json.dumps(z['atts']),z['dataset_id']) ),'parameters':['attributes_table','attributes_fid','attribute_properties']},\ 'attributes2object_insert_statement':{'function':(lambda x,y,z: "INSERT INTO %s (object_fid,atts_fid,atts_origin) VALUES (%s,%s,4)" % (z,x,y) ),'parameters':['feature_id','attributes_fid','attributes2object_table']},\ 'two_insert_statements':{'function':(lambda y,z: [y,z]),'parameters':['attributes_insert_statement','attributes2object_insert_statement']},\ } return o_dict replacement_dictionary = { "[posledni_den_mesice]": (datetime.datetime.today().replace(day=1) - datetime.timedelta(days=1)).strftime('%Y%m%d'), "[lpis_cz__posledni_aktualizace]": lpis_cz__posledni_aktualizace().strftime('%Y%m%d'), "[vcera]": (datetime.datetime.today().replace(day=1) - datetime.timedelta(days=1)).strftime('%Y%m%d') } json_feature_structure = [{ "name": "id", "type": "serial primary key" }, { "name": "geom", "type": "geometry" }, { "name": "data", "type": "json" }] json_feature_with_bigid_structure = [{ "name": "id",
def compilable_node_dictionary(object,node__level=0,node__name='1'): g_dict=\ {'admunit':{'object':object},\ 'admunit__tree':{'object':'admunit','function':'return_graph_representation'},\ 'admunit__tree__reverse':{'object':'admunit__tree','function':'reverse'},\ 'node__level':{'object':node__level},\ 'node__name':{'object':node__name},\ 'admunit__tree__level':{'function':select_nodes_from_graph,'parameters':['admunit__tree','level','node__level']},\ 'admunit__tree__neighbors':{'function':find_neighbors_level,'parameters':['admunit__tree','node__name','node__level']},\ 'admunit__tree__neighbors__3201__4':{'function':find_neighbors_level,'parameters':['admunit__tree__reverse','3201',4]},\ 'admunit__tree__neighbors__3201__3':{'function':find_neighbors_level,'parameters':['admunit__tree__reverse','3201',3]},\ } return g_dict replacement_dictionary = {"[posledni_den_mesice]":(datetime.datetime.today().replace(day=1)-datetime.timedelta(days=1)).strftime('%Y%m%d'),"[lpis_cz__posledni_aktualizace]":lpis_cz__posledni_aktualizace().strftime('%Y%m%d'), "[vcera]":(datetime.datetime.today().replace(day=1)-datetime.timedelta(days=1)).strftime('%Y%m%d')} json_feature_structure=[{"name":"id","type":"serial primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"}] json_feature_with_bigid_structure=[{"name":"id","type":"bigint primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"}] json_feature_with_bigid__without_pk_structure=[{"name":"id","type":"bigint"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"}] json_admin_unit_structure=[{"name":"id","type":"integer primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"level","type":"integer"},{"name":"parent_id","type":"text"}] json_admin_unit_structure_at=[{"name":"id","type":"text primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"level","type":"integer"},{"name":"parent_id","type":"text"}] json_feature_with_raster_structure=[{"name":"id","type":"serial primary key"},{"name":"geom","type":"geometry"},{"name":"data","type":"json"},{"name":"raster_maps","type":"raster"}] session = requests.Session() retries = Retry(total=5, backoff_factor=1, status_forcelist=[ 502, 503, 504 ]) session.mount('http://', HTTPAdapter(max_retries=retries)) dbs_admin_connection={**{'dbname':'olu_administrative_units'},**connectionstring_localhost} dbs_admin=DBStorage(dbs_admin_connection)