예제 #1
0
def main():
    logo.init(filename = uganda_config.logfile,
              verbose = uganda_config.verbose,
              progress = uganda_config.progress)
    if len(sys.argv) < 2:
        raise logo.ERROR("Missing input Shapefile")

    shapeu = shapeutil.ShapeUtil(uganda_config.cachesize)
    for i in xrange(1, len(sys.argv)):
        logo.INFO("Reading geometries '%s'" % sys.argv[i])
        if sys.argv[i].endswith(".osm"):
            read_UGANDA_OSM(sys.argv[i], shapeu)
        else:
            read_UGANDA(sys.argv[i], shapeu)

    logo.INFO("Simplify geometries")
    shapeu.buildSimplifiedLines()

    logo.INFO("Building administrative area")
    admins = {}
    for i in xrange(1, len(sys.argv)):
        if sys.argv[i].endswith(".osm"):
            admin_UGANDA_OSM(sys.argv[i], shapeu, admins)
        else:
            admin_UGANDA(sys.argv[i], shapeu, admins)
    logo.INFO("Verifying administrative area")
    verify_admin(shapeu, admins)

    logo.INFO("Writing output file")
    write_uganda(os.path.splitext(sys.argv[1])[0], shapeu, admins)
    logo.close()
예제 #2
0
def main():
    logo.init(filename = caop_config.logfile,
              verbose = caop_config.verbose,
              progress = caop_config.progress)
    if len(sys.argv) < 2:
        raise logo.ERROR("Missing input Shapefile")

    logo.DEBUG("Connect to DB(%s)" % caop_config.dbname)
    db = psycopg2.connect(caop_config.dbname)
    if not check_db_caop(db):
        logo.INFO("Creating PostgreSQL tables")
        create_caop_table(db)
    create_temp_table(db)

    shapeu = ShapeUtil(caop_config.cachesize)
    for i in xrange(1, len(sys.argv)):
        logo.INFO("Reading geometries '%s'" % sys.argv[i])
        read_CAOP(sys.argv[i], shapeu)

    logo.INFO("Simplify geometries")
    shapeu.buildSimplifiedLines()

    logo.INFO("Building administrative area")
    admins = {}
    for i in xrange(1, len(sys.argv)):
        admin_CAOP(sys.argv[i], shapeu, admins)
    logo.INFO("Verifying administrative area")
    verify_admin(shapeu, admins)

    logo.INFO("Importing into database")
    import_caop(db, shapeu, admins)
    vacuum_analyze_db(db)
    logo.close()
예제 #3
0
def main():
    logo.init(filename=caop_config.logfile,
              verbose=caop_config.verbose,
              progress=caop_config.progress)
    if len(sys.argv) < 2:
        raise logo.ERROR("Missing input Shapefile")

    logo.DEBUG("Connect to DB(%s)" % caop_config.dbname)
    db = psycopg2.connect(caop_config.dbname)
    if not check_db_caop(db):
        logo.INFO("Creating PostgreSQL tables")
        create_caop_table(db)
    create_temp_table(db)

    shapeu = ShapeUtil(caop_config.cachesize)
    for i in xrange(1, len(sys.argv)):
        logo.INFO("Reading geometries '%s'" % sys.argv[i])
        read_CAOP(sys.argv[i], shapeu)

    logo.INFO("Simplify geometries")
    shapeu.buildSimplifiedLines()

    logo.INFO("Building administrative area")
    admins = {}
    for i in xrange(1, len(sys.argv)):
        admin_CAOP(sys.argv[i], shapeu, admins)
    logo.INFO("Verifying administrative area")
    verify_admin(shapeu, admins)

    logo.INFO("Importing into database")
    import_caop(db, shapeu, admins)
    vacuum_analyze_db(db)
    logo.close()
예제 #4
0
def main():
    logo.init(filename=caop_config.logfile, verbose=caop_config.verbose, progress=caop_config.progress)
    logo.DEBUG("Connect to DB(%s)" % caop_config.dbname)
    db = psycopg2.connect(caop_config.dbname)
    create_table(db)
    prepare_table(db)

    # Search OSM admin area using bounding box
    logo.INFO("Search existing admin area by bounding box")
    matching = MatchRelationBbox(db)
    for adminlevel in (4, 6, 7, 8):
        matching.link_caop_osm(adminlevel)

    # Search OSM admin area using geometry
    matching = MatchRelationGeom(db)
    logo.INFO("Search existing admin area by geometry")
    for adminlevel in (8, 7, 6, 4):
        matching.link_caop_osm(adminlevel)
예제 #5
0
def main():
    logo.init(filename = caop_config.logfile,
              verbose = caop_config.verbose,
              progress = caop_config.progress)
    logo.DEBUG("Connect to DB(%s)" % caop_config.dbname)
    db = psycopg2.connect(caop_config.dbname)
    create_table(db)
    prepare_table(db)

    # Search OSM admin area using bounding box
    logo.INFO("Search existing admin area by bounding box")
    matching = MatchRelationBbox(db)
    for adminlevel in (4, 6, 7, 8):
        matching.link_caop_osm(adminlevel)

    # Search OSM admin area using geometry
    matching = MatchRelationGeom(db)
    logo.INFO("Search existing admin area by geometry")
    for adminlevel in (8, 7, 6, 4):
        matching.link_caop_osm(adminlevel)