def create_test_census_localities(cls, extract=False): # Cargar las localidades censales de la provincia de prueba cls.copy_test_file( 'test_localidades_censales/test_localidades_censales.dbf') cls.copy_test_file( 'test_localidades_censales/test_localidades_censales.shp') cls.copy_test_file( 'test_localidades_censales/test_localidades_censales.shx') cls.copy_test_file( 'test_localidades_censales/test_localidades_censales.prj') loader = Ogr2ogrStep(table_name='tmp_localidades_censales', geom_type='Point', env={'SHAPE_ENCODING': 'utf-8'}, metadata=cls._metadata, db_config=cls._ctx.config['test_db']) cls._tmp_census_localities = loader.run('test_localidades_censales', cls._ctx) if extract: step = CensusLocalitiesExtractionStep() step.run(cls._tmp_census_localities, cls._ctx) return cls._tmp_census_localities
def create_test_blocks(cls): # Cargar las cuadras de la provincia de prueba cls.copy_test_file('test_cuadras/test_cuadras.dbf') cls.copy_test_file('test_cuadras/test_cuadras.shp') cls.copy_test_file('test_cuadras/test_cuadras.shx') cls.copy_test_file('test_cuadras/test_cuadras.prj') loader = Ogr2ogrStep(table_name='tmp_cuadras', geom_type='MultiLineString', env={'SHAPE_ENCODING': 'utf-8'}, metadata=cls._metadata, db_config=cls._ctx.config['test_db']) cls._tmp_blocks = loader.run('test_cuadras', cls._ctx) return cls._tmp_blocks
def create_test_settlements(cls): # Cargar los asentamientos de la provincia de prueba cls.copy_test_file('test_asentamientos/test_asentamientos.dbf') cls.copy_test_file('test_asentamientos/test_asentamientos.shp') cls.copy_test_file('test_asentamientos/test_asentamientos.shx') cls.copy_test_file('test_asentamientos/test_asentamientos.prj') loader = Ogr2ogrStep(table_name='tmp_asentamientos', geom_type='MultiPoint', env={'SHAPE_ENCODING': 'utf-8'}, metadata=cls._metadata, db_config=cls._ctx.config['test_db']) cls._tmp_settlements = loader.run('test_asentamientos', cls._ctx) return cls._tmp_settlements
def create_test_provinces(cls, extract=False): # Cargar la provincia de prueba cls.copy_test_file('test_provincias/test_provincias.dbf') cls.copy_test_file('test_provincias/test_provincias.shp') cls.copy_test_file('test_provincias/test_provincias.shx') cls.copy_test_file('test_provincias/test_provincias.prj') loader = Ogr2ogrStep(table_name='tmp_provincias', geom_type='MultiPolygon', env={'SHAPE_ENCODING': 'utf-8'}, metadata=cls._metadata, db_config=cls._ctx.config['test_db']) cls._tmp_provinces = loader.run('test_provincias', cls._ctx) if extract: step = ProvincesExtractionStep() step.run(cls._tmp_provinces, cls._ctx) return cls._tmp_provinces
def test_ogr2ogr(self): """El paso debería correctamente cargar un archivo .shp a una base de datos utilizando la herramienta externa ogr2ogr.""" table_name = 't1' step = Ogr2ogrStep(table_name=table_name, geom_type='MultiPoint', metadata=self._metadata, env={'SHAPE_ENCODING': 'utf-8'}, db_config=self._ctx.config['test_db']) # Archivo generado con georef-ar-api self.copy_test_file('test_shp/localidades.shp') self.copy_test_file('test_shp/localidades.prj') self.copy_test_file('test_shp/localidades.shx') self.copy_test_file('test_shp/localidades.dbf') table = step.run('test_shp', self._ctx) self.assertEqual(table.__table__.name, table_name) ValidateTableSchemaStep({ 'ogc_fid': 'integer', 'dpto_nombre': 'varchar', 'dpto_id': 'varchar', 'prov_nombre': 'varchar', 'prov_id': 'varchar', 'muni_nombre': 'varchar', 'muni_id': 'varchar', 'categoria': 'varchar', 'centr_lat': 'varchar', 'centr_lon': 'varchar', 'nombre': 'varchar', 'id': 'varchar', 'geom': 'geometry' }).run(table, self._ctx) ValidateTableSizeStep(target_size=158).run(table, self._ctx)