mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
fix r14462
git-svn-id: http://svn.osgeo.org/qgis/trunk@14465 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
40b7172cbf
commit
7f2b541326
@ -378,16 +378,17 @@ not disjoint with existing polygons of the feature*/
|
||||
|
||||
class Error
|
||||
{
|
||||
Error( QString m );
|
||||
Error( QString m, QgsPoint p );
|
||||
QString what();
|
||||
QgsPoint where();
|
||||
bool hasWhere();
|
||||
public:
|
||||
Error( QString m );
|
||||
Error( QString m, QgsPoint p );
|
||||
QString what();
|
||||
QgsPoint where();
|
||||
bool hasWhere();
|
||||
};
|
||||
|
||||
/** Validate geometry and produce a list of geometry errors
|
||||
* @note python binding added in 1.6
|
||||
**/
|
||||
void validateGeometry( QList<QgsGeometry::Error> &errors );
|
||||
void validateGeometry( QList<QgsGeometry::Error> &errors /Out/ );
|
||||
}; // class QgsGeometry
|
||||
|
||||
|
@ -441,36 +441,16 @@ class visualThread( QThread ):
|
||||
geom = QgsGeometry( feat.geometry() )
|
||||
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nElement )
|
||||
nElement += 1
|
||||
if geom.isMultipart():
|
||||
polygons = geom.asMultiPolygon()
|
||||
for polygon in polygons:
|
||||
if not self.isHoleNested( polygon ):
|
||||
lstErrors.append( self.tr( "Feature %1 contains an unnested hole" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if not self.isPolygonClosed( polygon ):
|
||||
lstErrors.append( self.tr( "Feature %1 is not closed" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if self.isSelfIntersecting( polygon ):
|
||||
lstErrors.append( self.tr( "Feature %1 is self intersecting" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if not self.isCorrectOrientation( polygon ):
|
||||
lstErrors.append( self.tr( "Feature %1 has incorrect node ordering" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
|
||||
else:
|
||||
geom = geom.asPolygon()
|
||||
if not self.isHoleNested( geom ):
|
||||
lstErrors.append( self.tr( "Feature %1 contains an unnested hole" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if not self.isPolygonClosed( geom ):
|
||||
lstErrors.append( self.tr( "Feature %1 is not closed" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if self.isSelfIntersecting( geom ):
|
||||
lstErrors.append( self.tr( "Feature %1 is self intersecting" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
if not self.isCorrectOrientation( geom ):
|
||||
lstErrors.append( self.tr( "Feature %1 has incorrect node ordering" ).arg( unicode( feat.id() ) ) )
|
||||
count += 1
|
||||
|
||||
errors = geom.validateGeometry()
|
||||
if len(errors) > 0:
|
||||
lstErrors.append( self.tr( "Feature %1 has %2 errors:" ).arg( feat.id() ).arg( uni
|
||||
for e in errors:
|
||||
if e.hasWhere():
|
||||
lstErrors.append( self.tr( "Feature %1: %2 [%3]" ).arg( feat.id() ).arg( e.what() ).arg( e.where() ) )
|
||||
else:
|
||||
lstErrors.append( self.tr( "Feature %1: %2 [%3]" ).arg( feat.id() ).arg( e.what() ).arg( e.where() ) )
|
||||
|
||||
self.emit( SIGNAL( "runStatus(PyQt_PyObject)" ), nFeat )
|
||||
return ( lstErrors, count )
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user