#160 Parcel calc fix
* fixes minor bug where invalid geometry (self intersecting) could not be used properly as input for WFS parcel intersection calculation
    * future enhancements regarding map client will make sure invalid geometries can not be added in the first place
			
			
This commit is contained in:
		
							parent
							
								
									3535aba30f
								
							
						
					
					
						commit
						0b4b664265
					
				@ -11,7 +11,7 @@ from json import JSONDecodeError
 | 
			
		||||
from time import sleep
 | 
			
		||||
 | 
			
		||||
import requests
 | 
			
		||||
from django.contrib.gis.db.models.functions import AsGML, Transform
 | 
			
		||||
from django.contrib.gis.db.models.functions import AsGML, Transform, MakeValid
 | 
			
		||||
from requests.auth import HTTPDigestAuth
 | 
			
		||||
 | 
			
		||||
from konova.settings import DEFAULT_SRID_RLP, PARCEL_WFS_USER, PARCEL_WFS_PW, PROXIES
 | 
			
		||||
@ -91,7 +91,7 @@ class ParcelWFSFetcher(AbstractWFSFetcher):
 | 
			
		||||
        ).annotate(
 | 
			
		||||
            transformed=Transform(srid=filter_srid, expression="geom")
 | 
			
		||||
        ).annotate(
 | 
			
		||||
            gml=AsGML('transformed')
 | 
			
		||||
            gml=AsGML(MakeValid('transformed'))
 | 
			
		||||
        ).first().gml
 | 
			
		||||
        spatial_filter = f"<Filter><{geometry_operation}><PropertyName>{self.geometry_property_name}</PropertyName>{geom_gml}</{geometry_operation}></Filter>"
 | 
			
		||||
        return spatial_filter
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user