示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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)