Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:kukuk:OSM
osmcoastline
osmcoastline-2.4.0.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File osmcoastline-2.4.0.dif of Package osmcoastline
diff -urN osmcoastline-2.3.1.orig/src/coastline_polygons.cpp osmcoastline-2.3.1/src/coastline_polygons.cpp --- osmcoastline-2.3.1.orig/src/coastline_polygons.cpp 2021-09-02 14:21:02.000000000 +0200 +++ osmcoastline-2.3.1/src/coastline_polygons.cpp 2021-10-22 11:05:46.958670350 +0200 @@ -104,6 +104,7 @@ } m_output.add_error_line(make_unique_ptr_clone<OGRLineString>(er), "direction"); warnings++; + std::cerr << "Direction: https://www.openstreetmap.org/?mlat=" << er->getY(0) << "&mlon=" << er->getX(0) << "&zoom=15" << "\n"; } } diff -urN osmcoastline-2.3.1.orig/src/coastline_ring_collection.cpp osmcoastline-2.3.1/src/coastline_ring_collection.cpp --- osmcoastline-2.3.1.orig/src/coastline_ring_collection.cpp 2021-09-02 14:21:02.000000000 +0200 +++ osmcoastline-2.3.1/src/coastline_ring_collection.cpp 2021-10-22 11:14:09.871657312 +0200 @@ -137,7 +137,7 @@ return false; } -std::vector<OGRGeometry*> CoastlineRingCollection::add_polygons_to_vector() { +std::vector<OGRGeometry*> CoastlineRingCollection::add_polygons_to_vector(unsigned int* warnings, unsigned int* errors) { std::vector<OGRGeometry*> vector; vector.reserve(m_list.size()); @@ -154,6 +154,7 @@ vector.push_back(geom.release()); } else { std::cerr << "Ignoring invalid polygon geometry (ring_id=" << ring->ring_id() << ").\n"; + (*errors)++; } } } @@ -173,12 +174,16 @@ output.add_error_point(ring->ogr_first_point(), "single_point_in_ring", ring->first_node_id()); warnings++; } else { // ring->npoints() == 2 or 3 + std::cerr << " Not a ring: https://www.openstreetmap.org/browse/way/" << ring->ring_id() << "\n"; output.add_error_line(ring->ogr_linestring(m_factory, true), "not_a_ring", ring->ring_id()); output.add_error_point(ring->ogr_first_point(), "not_a_ring", ring->first_node_id()); output.add_error_point(ring->ogr_last_point(), "not_a_ring", ring->last_node_id()); warnings++; } } else { + std::cerr << " Not closed: https://www.openstreetmap.org/browse/way/" << ring->ring_id() << "\n"; + std::cerr << " Not closed: https://www.openstreetmap.org/browse/node/" << ring->first_node_id() << "\n"; + std::cerr << " Not closed: https://www.openstreetmap.org/browse/node/" << ring->last_node_id() << "\n"; output.add_error_line(ring->ogr_linestring(m_factory, true), "not_closed", ring->ring_id()); output.add_error_point(ring->ogr_first_point(), "end_point", ring->first_node_id()); output.add_error_point(ring->ogr_last_point(), "end_point", ring->last_node_id()); @@ -458,6 +463,7 @@ for (const auto& ring : m_list) { if (!ring->is_outer()) { if (ring->is_closed() && ring->npoints() > 3 && ring->npoints() < max_nodes_to_be_considered_questionable) { + std::cerr << " Questionable ring: https://www.openstreetmap.org/browse/way/" << ring->ring_id() << "\n"; output.add_error_line(ring->ogr_linestring(m_factory, false), "questionable", ring->ring_id()); warnings++; } @@ -466,4 +472,3 @@ return warnings; } - diff -urN osmcoastline-2.3.1.orig/src/coastline_ring_collection.hpp osmcoastline-2.3.1/src/coastline_ring_collection.hpp --- osmcoastline-2.3.1.orig/src/coastline_ring_collection.hpp 2021-09-02 14:21:02.000000000 +0200 +++ osmcoastline-2.3.1/src/coastline_ring_collection.hpp 2021-10-22 11:05:46.958670350 +0200 @@ -107,7 +107,7 @@ unsigned int check_locations(bool output_missing); - std::vector<OGRGeometry*> add_polygons_to_vector(); + std::vector<OGRGeometry*> add_polygons_to_vector(unsigned int* warnings, unsigned int* errors); unsigned int output_rings(OutputDatabase& output); diff -urN osmcoastline-2.3.1.orig/src/osmcoastline.cpp osmcoastline-2.3.1/src/osmcoastline.cpp --- osmcoastline-2.3.1.orig/src/osmcoastline.cpp 2021-09-02 14:21:02.000000000 +0200 +++ osmcoastline-2.3.1/src/osmcoastline.cpp 2021-10-22 11:05:46.958670350 +0200 @@ -73,7 +73,7 @@ * This function assembles all the coastline rings into one huge multipolygon. */ polygon_vector_type create_polygons(CoastlineRingCollection& coastline_rings, OutputDatabase& output, unsigned int* warnings, unsigned int* errors) { - std::vector<OGRGeometry*> all_polygons = coastline_rings.add_polygons_to_vector(); + std::vector<OGRGeometry*> all_polygons = coastline_rings.add_polygons_to_vector(warnings, errors); if (all_polygons.empty()) { throw std::runtime_error{"No polygons created!"};
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor