diff --git a/GeoJSON4EntityFramework/Base/GeoJsonGeometry.vb b/GeoJSON4EntityFramework/Base/GeoJsonGeometry.vb index aa7a780..8425da3 100644 --- a/GeoJSON4EntityFramework/Base/GeoJsonGeometry.vb +++ b/GeoJSON4EntityFramework/Base/GeoJsonGeometry.vb @@ -7,4 +7,6 @@ Public Property BoundingBox As Double() + + Public Property WithBoundingBox As Boolean = False End Class \ No newline at end of file diff --git a/GeoJSON4EntityFramework/Base/GeoJsonGeometryEF6.vb b/GeoJSON4EntityFramework/Base/GeoJsonGeometryEF6.vb index dbef768..3ce005a 100644 --- a/GeoJSON4EntityFramework/Base/GeoJsonGeometryEF6.vb +++ b/GeoJSON4EntityFramework/Base/GeoJsonGeometryEF6.vb @@ -1,18 +1,23 @@ Partial MustInherit Class GeoJsonGeometry(Of T) Inherits GeoJsonElement(Of T) - Public MustOverride Sub CreateFromDbGeometry(inp As System.Data.Entity.Spatial.DbGeometry) + Public MustOverride Sub CreateFromDbGeometry(inp As Entity.Spatial.DbGeometry) - Public Shared Function FromDbGeometry(inp As System.Data.Entity.Spatial.DbGeometry) As GeoJsonGeometry(Of T) + Public Shared Function FromDbGeometry(inp As Entity.Spatial.DbGeometry, Optional withBoundingBox As Boolean = True) As GeoJsonGeometry(Of T) Dim obj As GeoJsonGeometry(Of T) = CTypeDynamic(Activator.CreateInstance(Of T)(), GetType(T)) - obj.BoundingBox = New Double(3) { + If withBoundingBox Then + obj.WithBoundingBox = True + + obj.BoundingBox = New Double() { inp.Envelope.PointAt(1).YCoordinate, inp.Envelope.PointAt(1).XCoordinate, inp.Envelope.PointAt(3).YCoordinate, inp.Envelope.PointAt(3).XCoordinate } + End If + obj.CreateFromDbGeometry(inp) Return obj End Function diff --git a/GeoJSON4EntityFramework/Elements/FeatureEF6.vb b/GeoJSON4EntityFramework/Elements/FeatureEF6.vb index 233ba7b..9dbf40e 100644 --- a/GeoJSON4EntityFramework/Elements/FeatureEF6.vb +++ b/GeoJSON4EntityFramework/Elements/FeatureEF6.vb @@ -1,23 +1,50 @@ Partial Class Feature - Public Shared Function FromDbGeometry(inp As System.Data.Entity.Spatial.DbGeometry) As Feature + Public Shared Function FromDbGeometry(inp As Entity.Spatial.DbGeometry, Optional withBoundingBox As Boolean = False) As Feature Dim f As New Feature Select Case inp.SpatialTypeName Case "MultiPolygon" - f.Geometry.Add(MultiPolygon.FromDbGeometry(inp)) + f.Geometry.Add(MultiPolygon.FromDbGeometry(inp, withBoundingBox)) Case "Polygon" - f.Geometry.Add(Polygon.FromDbGeometry(inp)) + f.Geometry.Add(Polygon.FromDbGeometry(inp, withBoundingBox)) Case "Point" - f.Geometry.Add(Point.FromDbGeometry(inp)) + f.Geometry.Add(Point.FromDbGeometry(inp, withBoundingBox)) Case "MultiPoint" - f.Geometry.Add(MultiPoint.FromDbGeometry(inp)) + f.Geometry.Add(MultiPoint.FromDbGeometry(inp, withBoundingBox)) Case "LineString" - f.Geometry.Add(LineString.FromDbGeometry(inp)) + f.Geometry.Add(LineString.FromDbGeometry(inp, withBoundingBox)) Case "MultiLineString" - f.Geometry.Add(MultiLineString.FromDbGeometry(inp)) + f.Geometry.Add(MultiLineString.FromDbGeometry(inp, withBoundingBox)) Case "GeometryCollection" - f.Geometry.Add(GeometryCollection.FromDbGeometry(inp)) + f.Geometry.Add(GeometryCollection.FromDbGeometry(inp, withBoundingBox)) + Case Else + Throw New NotImplementedException + End Select + + Return f + End Function + + Public Shared Function FromDbGeography(inp As Entity.Spatial.DbGeography, Optional withBoundingBox As Boolean = False) As Feature + Dim f As New Feature + + Dim inpgeom = Entity.Spatial.DbSpatialServices.Default.GeometryFromBinary(inp.AsBinary, inp.CoordinateSystemId) + + Select Case inpgeom.SpatialTypeName + Case "MultiPolygon" + f.Geometry.Add(MultiPolygon.FromDbGeometry(inpgeom, withBoundingBox)) + Case "Polygon" + f.Geometry.Add(Polygon.FromDbGeometry(inpgeom, withBoundingBox)) + Case "Point" + f.Geometry.Add(Point.FromDbGeometry(inpgeom, withBoundingBox)) + Case "MultiPoint" + f.Geometry.Add(MultiPoint.FromDbGeometry(inpgeom, withBoundingBox)) + Case "LineString" + f.Geometry.Add(LineString.FromDbGeometry(inpgeom, withBoundingBox)) + Case "MultiLineString" + f.Geometry.Add(MultiLineString.FromDbGeometry(inpgeom, withBoundingBox)) + Case "GeometryCollection" + f.Geometry.Add(GeometryCollection.FromDbGeometry(inpgeom, withBoundingBox)) Case Else Throw New NotImplementedException End Select diff --git a/GeoJSON4EntityFramework/Elements/GeometryCollectionEF6.vb b/GeoJSON4EntityFramework/Elements/GeometryCollectionEF6.vb index 3d3759b..13ad55b 100644 --- a/GeoJSON4EntityFramework/Elements/GeometryCollectionEF6.vb +++ b/GeoJSON4EntityFramework/Elements/GeometryCollectionEF6.vb @@ -7,13 +7,13 @@ Dim element = inp.ElementAt(i) Select Case element.SpatialTypeName Case "MultiPolygon" - Geometries.Add(MultiPolygon.FromDbGeometry(element)) + Geometries.Add(MultiPolygon.FromDbGeometry(element, WithBoundingBox)) Case "Polygon" - Geometries.Add(Polygon.FromDbGeometry(element)) + Geometries.Add(Polygon.FromDbGeometry(element, WithBoundingBox)) Case "Point" - Geometries.Add(Point.FromDbGeometry(element)) + Geometries.Add(Point.FromDbGeometry(element, WithBoundingBox)) Case "MultiPoint" - Geometries.Add(MultiPoint.FromDbGeometry(element)) + Geometries.Add(MultiPoint.FromDbGeometry(element, WithBoundingBox)) Case Else Throw New NotImplementedException End Select diff --git a/GeoJSON4EntityFramework/Elements/MultiPoint.vb b/GeoJSON4EntityFramework/Elements/MultiPoint.vb index 316c8a3..a5f1962 100644 --- a/GeoJSON4EntityFramework/Elements/MultiPoint.vb +++ b/GeoJSON4EntityFramework/Elements/MultiPoint.vb @@ -2,6 +2,7 @@ Inherits GeoJsonGeometry(Of MultiPoint) Implements IGeoJsonGeometry + Public Property Points As New List(Of Point) Public Overrides ReadOnly Property Coordinates As Object diff --git a/GeoJSON4EntityFramework/My Project/AssemblyInfo.vb b/GeoJSON4EntityFramework/My Project/AssemblyInfo.vb index 3189022..37e0c5e 100644 --- a/GeoJSON4EntityFramework/My Project/AssemblyInfo.vb +++ b/GeoJSON4EntityFramework/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/GeoJSON4EntityFramework5/Base/GeoJsonGeometryEF5.vb b/GeoJSON4EntityFramework5/Base/GeoJsonGeometryEF5.vb index 6758fa1..8edd690 100644 --- a/GeoJSON4EntityFramework5/Base/GeoJsonGeometryEF5.vb +++ b/GeoJSON4EntityFramework5/Base/GeoJsonGeometryEF5.vb @@ -1,18 +1,22 @@ Partial MustInherit Class GeoJsonGeometry(Of T) Inherits GeoJsonElement(Of T) - Public MustOverride Sub CreateFromDbGeometry(inp As System.Data.Spatial.DbGeometry) + Public MustOverride Sub CreateFromDbGeometry(inp As Spatial.DbGeometry) - Public Shared Function FromDbGeometry(inp As System.Data.Spatial.DbGeometry) As GeoJsonGeometry(Of T) + Public Shared Function FromDbGeometry(inp As Spatial.DbGeometry, Optional withBoundingBox As Boolean = True) As GeoJsonGeometry(Of T) Dim obj As GeoJsonGeometry(Of T) = CTypeDynamic(Activator.CreateInstance(Of T)(), GetType(T)) - obj.BoundingBox = New Double(3) { + If withBoundingBox Then + obj.WithBoundingBox = True + obj.BoundingBox = New Double() { inp.Envelope.PointAt(1).YCoordinate, inp.Envelope.PointAt(1).XCoordinate, inp.Envelope.PointAt(3).YCoordinate, inp.Envelope.PointAt(3).XCoordinate } + End If + obj.CreateFromDbGeometry(inp) Return obj End Function diff --git a/GeoJSON4EntityFramework5/Elements/FeatureEF5.vb b/GeoJSON4EntityFramework5/Elements/FeatureEF5.vb index b301b72..43ddea1 100644 --- a/GeoJSON4EntityFramework5/Elements/FeatureEF5.vb +++ b/GeoJSON4EntityFramework5/Elements/FeatureEF5.vb @@ -1,23 +1,50 @@ Partial Class Feature - Public Shared Function FromDbGeometry(inp As System.Data.Spatial.DbGeometry) As Feature + Public Shared Function FromDbGeometry(inp As Spatial.DbGeometry, Optional withBoundingBox As Boolean = False) As Feature Dim f As New Feature Select Case inp.SpatialTypeName Case "MultiPolygon" - f.Geometry.Add(MultiPolygon.FromDbGeometry(inp)) + f.Geometry.Add(MultiPolygon.FromDbGeometry(inp, withBoundingBox)) Case "Polygon" - f.Geometry.Add(Polygon.FromDbGeometry(inp)) + f.Geometry.Add(Polygon.FromDbGeometry(inp, withBoundingBox)) Case "Point" - f.Geometry.Add(Point.FromDbGeometry(inp)) + f.Geometry.Add(Point.FromDbGeometry(inp, withBoundingBox)) Case "MultiPoint" - f.Geometry.Add(MultiPoint.FromDbGeometry(inp)) + f.Geometry.Add(MultiPoint.FromDbGeometry(inp, withBoundingBox)) Case "LineString" - f.Geometry.Add(LineString.FromDbGeometry(inp)) + f.Geometry.Add(LineString.FromDbGeometry(inp, withBoundingBox)) Case "MultiLineString" - f.Geometry.Add(MultiLineString.FromDbGeometry(inp)) + f.Geometry.Add(MultiLineString.FromDbGeometry(inp, withBoundingBox)) Case "GeometryCollection" - f.Geometry.Add(GeometryCollection.FromDbGeometry(inp)) + f.Geometry.Add(GeometryCollection.FromDbGeometry(inp, withBoundingBox)) + Case Else + Throw New NotImplementedException + End Select + + Return f + End Function + + Public Shared Function FromDbGeography(inp As Spatial.DbGeography, Optional withBoundingBox As Boolean = False) As Feature + Dim f As New Feature + + Dim inpgeom = Spatial.DbSpatialServices.Default.GeometryFromBinary(inp.AsBinary, inp.CoordinateSystemId) + + Select Case inpgeom.SpatialTypeName + Case "MultiPolygon" + f.Geometry.Add(MultiPolygon.FromDbGeometry(inpgeom, withBoundingBox)) + Case "Polygon" + f.Geometry.Add(Polygon.FromDbGeometry(inpgeom, withBoundingBox)) + Case "Point" + f.Geometry.Add(Point.FromDbGeometry(inpgeom, withBoundingBox)) + Case "MultiPoint" + f.Geometry.Add(MultiPoint.FromDbGeometry(inpgeom, withBoundingBox)) + Case "LineString" + f.Geometry.Add(LineString.FromDbGeometry(inpgeom, withBoundingBox)) + Case "MultiLineString" + f.Geometry.Add(MultiLineString.FromDbGeometry(inpgeom, withBoundingBox)) + Case "GeometryCollection" + f.Geometry.Add(GeometryCollection.FromDbGeometry(inpgeom, withBoundingBox)) Case Else Throw New NotImplementedException End Select diff --git a/GeoJSON4EntityFramework5/Elements/GeometryCollectionEF5.vb b/GeoJSON4EntityFramework5/Elements/GeometryCollectionEF5.vb index b8c57e2..00e873c 100644 --- a/GeoJSON4EntityFramework5/Elements/GeometryCollectionEF5.vb +++ b/GeoJSON4EntityFramework5/Elements/GeometryCollectionEF5.vb @@ -7,13 +7,13 @@ Dim element = inp.ElementAt(i) Select Case element.SpatialTypeName Case "MultiPolygon" - Geometries.Add(MultiPolygon.FromDbGeometry(element)) + Geometries.Add(MultiPolygon.FromDbGeometry(element, WithBoundingBox)) Case "Polygon" - Geometries.Add(Polygon.FromDbGeometry(element)) + Geometries.Add(Polygon.FromDbGeometry(element, WithBoundingBox)) Case "Point" - Geometries.Add(Point.FromDbGeometry(element)) + Geometries.Add(Point.FromDbGeometry(element, WithBoundingBox)) Case "MultiPoint" - Geometries.Add(MultiPoint.FromDbGeometry(element)) + Geometries.Add(MultiPoint.FromDbGeometry(element, WithBoundingBox)) Case Else Throw New NotImplementedException End Select diff --git a/GeoJSON4EntityFramework5/My Project/AssemblyInfo.vb b/GeoJSON4EntityFramework5/My Project/AssemblyInfo.vb index bac665d..87e753c 100644 --- a/GeoJSON4EntityFramework5/My Project/AssemblyInfo.vb +++ b/GeoJSON4EntityFramework5/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/TestProject/Tests.vb b/TestProject/Tests.vb index eecd574..2cd02de 100644 --- a/TestProject/Tests.vb +++ b/TestProject/Tests.vb @@ -1,41 +1,103 @@ -Imports System.Text -Imports Microsoft.VisualStudio.TestTools.UnitTesting -Imports alatas.GeoJSON4EntityFramework -Imports System.Data.Entity.Spatial +Imports alatas.GeoJSON4EntityFramework Public Class Tests - Private fc As FeatureCollection - Private ReadOnly Property GetFeatureCollection() As FeatureCollection - Get - If fc Is Nothing Then - fc = New FeatureCollection - TestFeatures.ForEach(Sub(c) - Dim geom As Entity.Spatial.DbGeometry = Entity.Spatial.DbGeometry.FromText(c.Geometry) - Dim f = Feature.FromDbGeometry(geom) - f.ID = c.ID - f.Properties.Add("Name", c.Name) - f.Properties.Add("Area", geom.Area) - f.Properties.Add("Type", c.ElementType.ToString) - fc.Features.Add(f) - End Sub) - Return fc - End If - - Return fc - End Get - End Property + + Function GetFeatureCollection(Optional elementType As String = "", Optional withBBox As Boolean = False) As FeatureCollection + Dim fc As New FeatureCollection + TestFeatures.ForEach(Sub(c) + If elementType = "" Or (elementType <> "" And elementType = c.ElementType.ToString) Then + Dim geom = Entity.Spatial.DbGeometry.FromText(c.Geometry) + Dim f = Feature.FromDbGeometry(geom, withBBox) + f.ID = c.ID + f.Properties.Add("Name", c.Name) + f.Properties.Add("Area", geom.Area) + f.Properties.Add("Type", c.ElementType.ToString) + fc.Features.Add(f) + End If + End Sub) + Return fc + End Function Public Sub TestAll() - Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection, True) + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(withBBox:=True), True) + Assert.IsNotNull(json) + WriteOutput(json) + End Sub + + Public Sub OnlineTestAll() + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(withBBox:=True), False) + Assert.IsNotNull(json) + WriteOutput(json) + SendOutput(json) + End Sub + + Public Sub TestSpecificType(elementType As String) + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(elementType.ToUpperInvariant), True) Assert.IsNotNull(json) WriteOutput(json) End Sub - Public Sub TestAllOnline() - Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection, False) + Public Sub TestSpecificTypeOnline(elementType As String) + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(elementType.ToUpperInvariant), False) Assert.IsNotNull(json) WriteOutput(json) SendOutput(json) End Sub + Sub TestMultiPolygon() + TestSpecificType("MultiPolygon") + End Sub + + Sub TestPolygon() + TestSpecificType("Polygon") + End Sub + + Sub TestPoint() + TestSpecificType("Point") + End Sub + + Sub TestMultiPoint() + TestSpecificType("MultiPoint") + End Sub + + Sub TestLineString() + TestSpecificType("LineString") + End Sub + + Sub TestMultiLineString() + TestSpecificType("MultiLineString") + End Sub + + Sub TestGeometryCollection() + TestSpecificType("GeometryCollection") + End Sub + + Sub OnlineTestMultiPolygon() + TestSpecificTypeOnline("MultiPolygon") + End Sub + + Sub OnlineTestPolygon() + TestSpecificTypeOnline("Polygon") + End Sub + + Sub OnlineTestPoint() + TestSpecificTypeOnline("Point") + End Sub + + Sub OnlineTestMultiPoint() + TestSpecificTypeOnline("MultiPoint") + End Sub + + Sub OnlineTestLineString() + TestSpecificTypeOnline("LineString") + End Sub + + Sub OnlineTestMultiLineString() + TestSpecificTypeOnline("MultiLineString") + End Sub + + Sub OnlineTestGeometryCollection() + TestSpecificTypeOnline("GeometryCollection") + End Sub + End Class \ No newline at end of file diff --git a/TestProjectEF5/Tests.vb b/TestProjectEF5/Tests.vb index 25dded8..ec5052a 100644 --- a/TestProjectEF5/Tests.vb +++ b/TestProjectEF5/Tests.vb @@ -1,41 +1,101 @@ -Imports System.Text -Imports Microsoft.VisualStudio.TestTools.UnitTesting -Imports alatas.GeoJSON4EntityFramework5 -Imports System.Data.Spatial +Imports alatas.GeoJSON4EntityFramework5 Public Class Tests - Private fc As FeatureCollection - Private ReadOnly Property GetFeatureCollection() As FeatureCollection - Get - If fc Is Nothing Then - fc = New FeatureCollection - TestFeatures.ForEach(Sub(c) - Dim geom As Spatial.DbGeometry = Spatial.DbGeometry.FromText(c.Geometry) - Dim f = Feature.FromDbGeometry(geom) - f.ID = c.ID - f.Properties.Add("Name", c.Name) - f.Properties.Add("Area", geom.Area) - f.Properties.Add("Type", c.ElementType.ToString) - fc.Features.Add(f) - End Sub) - Return fc - End If - - Return fc - End Get - End Property - - Public Sub TestAll_EF5() - Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection, True) + Function GetFeatureCollection(Optional elementType As String = "", Optional withBBox As Boolean = False) As FeatureCollection + Dim fc As New FeatureCollection + TestFeatures.ForEach(Sub(c) + If elementType = "" Or (elementType <> "" And elementType = c.ElementType.ToString) Then + Dim geom = Spatial.DbGeometry.FromText(c.Geometry) + Dim f = Feature.FromDbGeometry(geom, withBBox) + f.ID = c.ID + f.Properties.Add("Name", c.Name) + f.Properties.Add("Area", geom.Area) + f.Properties.Add("Type", c.ElementType.ToString) + fc.Features.Add(f) + End If + End Sub) + Return fc + End Function + + Public Sub EF5TestAll() + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(withBBox:=True), True) + Assert.IsNotNull(json) + WriteOutput(json) + End Sub + + Public Sub EF5OnlineTestAll() + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(withBBox:=True), False) + Assert.IsNotNull(json) + WriteOutput(json) + SendOutput(json) + End Sub + + Public Sub TestSpecificType(elementType As String) + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(elementType.ToUpperInvariant), True) Assert.IsNotNull(json) WriteOutput(json) End Sub - Public Sub TestAllOnline_EF5() - Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection, False) + Public Sub TestSpecificTypeOnline(elementType As String) + Dim json = GeoJsonSerializer.Serialize(Of FeatureCollection)(GetFeatureCollection(elementType.ToUpperInvariant), False) Assert.IsNotNull(json) WriteOutput(json) SendOutput(json) End Sub + Sub EF5TestMultiPolygon() + TestSpecificType("MultiPolygon") + End Sub + + Sub EF5TestPolygon() + TestSpecificType("Polygon") + End Sub + + Sub EF5TestPoint() + TestSpecificType("Point") + End Sub + + Sub EF5TestMultiPoint() + TestSpecificType("MultiPoint") + End Sub + + Sub EF5TestLineString() + TestSpecificType("LineString") + End Sub + + Sub EF5TestMultiLineString() + TestSpecificType("MultiLineString") + End Sub + + Sub EF5TestGeometryCollection() + TestSpecificType("GeometryCollection") + End Sub + + Sub EF5OnlineTestMultiPolygon() + TestSpecificTypeOnline("MultiPolygon") + End Sub + + Sub EF5OnlineTestPolygon() + TestSpecificTypeOnline("Polygon") + End Sub + + Sub EF5OnlineTestPoint() + TestSpecificTypeOnline("Point") + End Sub + + Sub EF5OnlineTestMultiPoint() + TestSpecificTypeOnline("MultiPoint") + End Sub + + Sub EF5OnlineTestLineString() + TestSpecificTypeOnline("LineString") + End Sub + + Sub EF5OnlineTestMultiLineString() + TestSpecificTypeOnline("MultiLineString") + End Sub + + Sub EF5OnlineTestGeometryCollection() + TestSpecificTypeOnline("GeometryCollection") + End Sub End Class \ No newline at end of file diff --git a/TestWKTs/residential_area.wkt b/TestWKTs/residential_area.wkt index c84c4a5..c51a722 100644 --- a/TestWKTs/residential_area.wkt +++ b/TestWKTs/residential_area.wkt @@ -1,3 +1,91 @@ +MULTIPOLYGON (((32.8369555 39.9216339, 32.8375569 39.9220212, 32.8383334 39.9213147, 32.8377066 39.9209391, 32.8369555 39.9216339)), + ((32.8383384 39.9219133, 32.8383747 39.9219362, 32.8383122 39.9219946, 32.838416 39.9220599, 32.8385323 39.9219512, 32.8383922 39.9218631, 32.8383384 39.9219133)), + ((32.8380083 39.9221969, 32.8381778 39.9223081, 32.8383722 39.9221337, 32.8382027 39.9220225, 32.8380083 39.9221969)), + ((32.8406569 39.9214378, 32.8405702 39.9213774, 32.840377 39.9215405, 32.8404636 39.9216009, 32.8405415 39.9216552, 32.8407348 39.9214921, 32.8406569 39.9214378)), + ((32.8391068 39.922974, 32.839325 39.9228306, 32.8391863 39.9227064, 32.838968 39.9228498, 32.8391068 39.922974)), + ((32.8391526 39.9230064, 32.8392477 39.9230884, 32.8394622 39.9229421, 32.8393672 39.9228601, 32.8391526 39.9230064)), + ((32.8395759 39.9230902, 32.8394663 39.9229925, 32.8392657 39.9231248, 32.8393753 39.9232225, 32.8394699 39.9233102, 32.8397065 39.9231555, 32.8396099 39.9230686, 32.8395759 39.9230902)), + ((32.839525 39.9233369, 32.8396061 39.9234098, 32.8398079 39.9232775, 32.8397267 39.9232047, 32.839525 39.9233369)), + ((32.8393857 39.921436, 32.8393121 39.9214935, 32.8395211 39.921651, 32.8395948 39.9215935, 32.8393857 39.921436)), + ((32.8391858 39.9216076, 32.8390727 39.9216865, 32.839258 39.9218426, 32.839371 39.9217637, 32.8394871 39.9216827, 32.8393019 39.9215266, 32.8391858 39.9216076)), + ((32.8387758 39.921719, 32.8388899 39.9216143, 32.8388108 39.9215635, 32.8386967 39.9216683, 32.8385826 39.9217729, 32.8386617 39.9218236, 32.8387758 39.921719)), + ((32.8395287 39.9223486, 32.8396383 39.9224323, 32.8398653 39.9222841, 32.8397492 39.9221895, 32.8395287 39.9223486)), + ((32.8390959 39.921962, 32.8392031 39.9218767, 32.8390032 39.921729, 32.838896 39.9218144, 32.8387923 39.9218969, 32.8389923 39.9220446, 32.8390959 39.921962)), + ((32.8393963 39.921945, 32.839561 39.9220664, 32.8396899 39.9219635, 32.8395252 39.9218421, 32.8393963 39.921945)), + ((32.8392264 39.9220743, 32.8393677 39.9221887, 32.8395038 39.9220898, 32.8393625 39.9219754, 32.8392264 39.9220743)), + ((32.8388263 39.922166, 32.838932 39.9220755, 32.8387211 39.9219306, 32.8386154 39.9220211, 32.8385142 39.9221078, 32.8387251 39.9222527, 32.8388263 39.922166)), + ((32.8385879 39.9223728, 32.8386807 39.9222859, 32.8384679 39.9221522, 32.8383751 39.9222391, 32.8382879 39.9223208, 32.8385006 39.9224545, 32.8385879 39.9223728)), + ((32.8390591 39.9224888, 32.8392902 39.9223326, 32.8391054 39.9221718, 32.8388743 39.9223279, 32.8390591 39.9224888)), + ((32.8395067 39.9223277, 32.8397259 39.9221766, 32.8396322 39.9220967, 32.839413 39.9222479, 32.8395067 39.9223277)), + ((32.839714 39.9217292, 32.8396034 39.9218253, 32.8397473 39.9219228, 32.839858 39.9218267, 32.839714 39.9217292)), + ((32.8392352 39.9225521, 32.8393856 39.9224494, 32.8392885 39.9223658, 32.8391382 39.9224685, 32.8392352 39.9225521)), + ((32.8388967 39.922526, 32.8389495 39.922487, 32.8388237 39.9223885, 32.8386577 39.9225138, 32.8386473 39.9225327, 32.838646 39.9225576, 32.8386966 39.9226073, 32.8387353 39.9226386, 32.8388467 39.9227305, 32.8389221 39.9227921, 32.839041 39.9227065, 32.8389656 39.9226449, 32.8390059 39.9226182, 32.8388967 39.922526)), + ((32.8393599 39.9227419, 32.8396002 39.9225858, 32.8394523 39.922452, 32.8392121 39.9226081, 32.8393599 39.9227419)), + ((32.8395433 39.9229037, 32.8397671 39.9227405, 32.8396144 39.9226174, 32.8393906 39.9227806, 32.8395433 39.9229037)), + ((32.8422398 39.9225756, 32.8423143 39.9224734, 32.8421437 39.9224003, 32.8420692 39.9225024, 32.8419886 39.922613, 32.8421592 39.9226861, 32.8422398 39.9225756)), + ((32.8412301 39.9220912, 32.8412417 39.9220791, 32.8413768 39.9221661, 32.8413494 39.9221897, 32.8414765 39.9222712, 32.8416438 39.9221131, 32.8415235 39.922032, 32.8413884 39.921945, 32.8412615 39.9218658, 32.8411045 39.922012, 32.8412301 39.9220912)), + ((32.8418798 39.9223926, 32.8419467 39.9223061, 32.8417145 39.922148, 32.8416178 39.9222623, 32.8418798 39.9223926)), + ((32.8415828 39.9222961, 32.8415077 39.9223882, 32.8417814 39.9225195, 32.8418565 39.9224274, 32.8415828 39.9222961)), + ((32.8414972 39.9224085, 32.8414187 39.922498, 32.8416885 39.9226372, 32.841767 39.9225478, 32.8414972 39.9224085)), + ((32.8414052 39.9225318, 32.8413083 39.9226459, 32.8415794 39.9227812, 32.8416762 39.9226671, 32.8414052 39.9225318)), + ((32.8422875 39.9236865, 32.8423111 39.9236913, 32.8423889 39.9235381, 32.8420841 39.9234496, 32.8420087 39.9236124, 32.8419402 39.9237708, 32.8422281 39.9238375, 32.8422875 39.9236865)), + ((32.8418715 39.923924, 32.8421788 39.9239946, 32.8422251 39.9238762, 32.8419177 39.9238056, 32.8418715 39.923924)), + ((32.8416925 39.9245516, 32.8419285 39.9246013, 32.8419848 39.9244442, 32.8417488 39.9243944, 32.8416925 39.9245516)), + ((32.8417145 39.9243378, 32.8420128 39.9244054, 32.8420519 39.9243041, 32.8417536 39.9242365, 32.8417145 39.9243378)), + ((32.8412749 39.9244621, 32.8416017 39.9245397, 32.8416618 39.9243907, 32.8414141 39.924333, 32.8412749 39.9244621)), + ((32.8418338 39.9240732, 32.8421088 39.9241349, 32.8421475 39.9240334, 32.8418725 39.9239717, 32.8418338 39.9240732)), + ((32.8417664 39.9242015, 32.8420634 39.9242701, 32.842101 39.9241744, 32.841804 39.9241058, 32.8417664 39.9242015)), + ((32.8403008 39.9237533, 32.8401895 39.9236487, 32.8400098 39.9237612, 32.840121 39.9238658, 32.8402099 39.9239493, 32.8403897 39.9238368, 32.8403008 39.9237533)), + ((32.8402494 39.9239938, 32.8403405 39.9240733, 32.8405612 39.9242709, 32.8406162 39.9242343, 32.8407079 39.92405, 32.8405942 39.9239516, 32.8405203 39.9239523, 32.8405514 39.9239313, 32.8404603 39.9238517, 32.8402494 39.9239938)), + ((32.8407906 39.9243498, 32.8410914 39.92443, 32.8411362 39.9243313, 32.8408354 39.9242511, 32.8407906 39.9243498)), + ((32.8412503 39.9236293, 32.8411805 39.9237311, 32.8414666 39.9238465, 32.8415364 39.9237447, 32.8412503 39.9236293)), + ((32.8411659 39.9237672, 32.8411035 39.9238628, 32.8413566 39.9239599, 32.841419 39.9238642, 32.8411659 39.9237672)), + ((32.8408732 39.9242134, 32.8411501 39.9242936, 32.8412238 39.9241681, 32.8409542 39.9240823, 32.8408732 39.9242134)), + ((32.8412826 39.9240597, 32.8413024 39.9240685, 32.8413482 39.9239925, 32.8410584 39.9238898, 32.8410118 39.9239675, 32.8409712 39.9240377, 32.841242 39.9241299, 32.8412826 39.9240597)), + ((32.8416497 39.923079, 32.8419908 39.9232232, 32.8420647 39.9231204, 32.8417237 39.9229762, 32.8416497 39.923079)), + ((32.8415525 39.9232103, 32.8418248 39.9233257, 32.8418978 39.9232244, 32.8416254 39.923109, 32.8415525 39.9232103)), + ((32.8421444 39.9234223, 32.8422783 39.9232198, 32.8421116 39.923155, 32.8419777 39.9233575, 32.8421444 39.9234223)), + ((32.8419959 39.9228948, 32.8421261 39.9227162, 32.8419795 39.9226534, 32.8418493 39.922832, 32.8419959 39.9228948)), + ((32.8420234 39.922937, 32.8423221 39.9230643, 32.8424504 39.9228871, 32.8421518 39.9227598, 32.8420234 39.922937)), + ((32.8413403 39.923063, 32.8414674 39.9229078, 32.8412958 39.9228251, 32.8411687 39.9229803, 32.8413403 39.923063)), + ((32.8416191 39.9235971, 32.8417098 39.9234729, 32.8414347 39.9233547, 32.841344 39.923479, 32.8412649 39.9235956, 32.84154 39.9237053, 32.8416191 39.9235971)), + ((32.8414526 39.9233326, 32.8417262 39.923449, 32.8417961 39.9233524, 32.8415224 39.9232361, 32.8414526 39.9233326)), + ((32.8405557 39.9216884, 32.8407378 39.9218066, 32.8409376 39.9216256, 32.8407554 39.9215074, 32.8405557 39.9216884)), + ((32.8403795 39.923019, 32.8404711 39.9230976, 32.8407006 39.9229405, 32.840609 39.9228618, 32.8403795 39.923019)), + ((32.840504 39.9231294, 32.8406204 39.9232263, 32.8408344 39.9230751, 32.840718 39.9229782, 32.840504 39.9231294)), + ((32.840413 39.922509, 32.8405337 39.9225986, 32.840736 39.9224385, 32.8406153 39.9223488, 32.840413 39.922509)), + ((32.8405816 39.9226273, 32.8407149 39.9227224, 32.8409211 39.9225523, 32.8407878 39.9224572, 32.8405816 39.9226273)), + ((32.8407541 39.9227427, 32.8408819 39.9228359, 32.841066 39.9226608, 32.8409564 39.9225796, 32.8407541 39.9227427)), + ((32.8408152 39.9220073, 32.8406687 39.9219069, 32.8404899 39.9220603, 32.8406363 39.9221607, 32.8406194 39.9221754, 32.8407387 39.9222571, 32.8409333 39.92209, 32.8408152 39.9220073)), + ((32.8396442 39.9234396, 32.8397335 39.9235195, 32.8398876 39.9234183, 32.8397982 39.9233383, 32.8396442 39.9234396)), + ((32.8397616 39.9235493, 32.8398533 39.9236352, 32.840066 39.9235016, 32.8399743 39.9234157, 32.8397616 39.9235493)), + ((32.8402563 39.9229165, 32.8403535 39.9230015, 32.8405869 39.9228443, 32.8404897 39.9227594, 32.8402563 39.9229165)), + ((32.840273 39.9224105, 32.8403704 39.922487, 32.8405895 39.9223229, 32.8404921 39.9222464, 32.840273 39.9224105)), + ((32.8402822 39.9227007, 32.8401072 39.9228111, 32.8401907 39.922889, 32.8403657 39.9227786, 32.8402822 39.9227007)), + ((32.8396007 39.9229032, 32.8397088 39.9230009, 32.839822 39.9231033, 32.8399344 39.9232049, 32.8401274 39.9230794, 32.8400149 39.9229778, 32.8399017 39.9228754, 32.8397936 39.9227777, 32.8396007 39.9229032)), + ((32.840143 39.923434, 32.8403741 39.923275, 32.8401782 39.9231075, 32.8399471 39.9232665, 32.840143 39.923434)), + ((32.8397194 39.9224381, 32.8398091 39.9225108, 32.8400049 39.9223685, 32.8399152 39.9222959, 32.8397194 39.9224381)), + ((32.8399022 39.9225923, 32.8399689 39.9226474, 32.8401634 39.9225092, 32.8400968 39.9224541, 32.840026 39.9223955, 32.8398315 39.9225337, 32.8399022 39.9225923)), + ((32.8404132 39.9217727, 32.8402329 39.9216491, 32.8400793 39.9217809, 32.8402596 39.9219045, 32.8404547 39.9220383, 32.8406083 39.9219065, 32.8404132 39.9217727)), + ((32.8398644 39.9216267, 32.840046 39.9217541, 32.8401753 39.9216456, 32.8399937 39.9215183, 32.8398644 39.9216267)), + ((32.8399954 39.9222156, 32.8401056 39.922293, 32.8403041 39.9221269, 32.8401939 39.9220495, 32.8399954 39.9222156)), + ((32.8400395 39.921955, 32.8399269 39.9218742, 32.8397415 39.9220264, 32.8398541 39.9221071, 32.8399641 39.922186, 32.8401495 39.9220338, 32.8400395 39.921955)), + ((32.8401342 39.922315, 32.8402484 39.9223958, 32.8404494 39.9222287, 32.8403352 39.9221479, 32.8401342 39.922315)), + ((32.8399969 39.9226888, 32.8400929 39.9227694, 32.8403172 39.9226122, 32.8402213 39.9225316, 32.8399969 39.9226888)), + ((32.8407839 39.9218167, 32.8409027 39.9218953, 32.8410661 39.9217501, 32.8409474 39.9216715, 32.8407839 39.9218167)), + ((32.8409292 39.9219321, 32.8410448 39.9220049, 32.8412354 39.9218269, 32.8411198 39.9217541, 32.8409292 39.9219321)), + ((32.8407815 39.922285, 32.8408854 39.9223542, 32.8410838 39.9221791, 32.84098 39.9221099, 32.8407815 39.922285)), + ((32.8409349 39.9223699, 32.841066 39.9224591, 32.8410524 39.9224712, 32.8412228 39.9225868, 32.8413914 39.9224088, 32.8412417 39.9223074, 32.8411105 39.9222181, 32.8409349 39.9223699)), + ((32.8399761 39.9237434, 32.8401852 39.9236042, 32.8400931 39.9235228, 32.839884 39.923662, 32.8399761 39.9237434)), + ((32.8402806 39.9235507, 32.8405135 39.9233974, 32.840421 39.9233147, 32.8401881 39.9234681, 32.8402806 39.9235507)), + ((32.840398 39.9236562, 32.8406217 39.9235043, 32.8405319 39.9234265, 32.8403081 39.9235784, 32.840398 39.9236562)), + ((32.8407593 39.9236182, 32.8406599 39.9235317, 32.8404288 39.9236879, 32.8405282 39.9237744, 32.8407565 39.9239565, 32.8409105 39.9237385, 32.8407593 39.9236182)), + ((32.8411859 39.9227501, 32.8411657 39.9227392, 32.8411802 39.9227234, 32.8410998 39.9226798, 32.8409355 39.9228578, 32.8410362 39.9229124, 32.8410695 39.9228764, 32.8411506 39.9229192, 32.8412648 39.9227919, 32.8411859 39.9227501)), + ((32.8412223 39.9232201, 32.8413057 39.9231114, 32.8410567 39.922999, 32.8409733 39.9231077, 32.8412223 39.9232201)), + ((32.8411484 39.9233564, 32.8412186 39.9232655, 32.8410085 39.92317, 32.8409383 39.9232609, 32.8411484 39.9233564)), + ((32.8406646 39.923246, 32.8407463 39.9233275, 32.8408566 39.9232499, 32.8408514 39.9231664, 32.840819 39.9231375, 32.8406646 39.923246)), + ((32.8408747 39.9232788, 32.8408216 39.9233166, 32.8407762 39.9233583, 32.8407554 39.9233981, 32.8407814 39.9234349, 32.8408293 39.9234797, 32.840902 39.9235334, 32.8409538 39.9235603, 32.8410939 39.9233832, 32.8408747 39.9232788))) + GEOMETRYCOLLECTION (MULTIPOLYGON (((32.8400054 39.9293301, 32.8401293 39.9293851, 32.8402295 39.9292525, 32.8401055 39.9291974, 32.8400054 39.9293301)), ((32.8401571 39.9294068, 32.8402815 39.9294727, 32.8403998 39.9293412, 32.8402754 39.9292754, 32.8401571 39.9294068)), ((32.83984 39.9295185, 32.8400676 39.9296279, 32.840194 39.9294732, 32.8399664 39.9293639, 32.83984 39.9295185)), @@ -164,93 +252,6 @@ GEOMETRYCOLLECTION (MULTIPOLYGON (((32.8400054 39.9293301, 32.8401293 39.9293851 ((32.833179 39.9317832, 32.8333448 39.9318258, 32.8333887 39.9317253, 32.8332229 39.9316827, 32.833179 39.9317832)), ((32.8333897 39.9318454, 32.8335527 39.9318802, 32.833625 39.9316807, 32.833462 39.931646, 32.8333897 39.9318454)), ((32.8336022 39.9319029, 32.8337781 39.9319359, 32.833846 39.9317229, 32.8336701 39.9316899, 32.8336022 39.9319029))), - MULTIPOLYGON (((32.8393857 39.921436, 32.8393121 39.9214935, 32.8395211 39.921651, 32.8395948 39.9215935, 32.8393857 39.921436)), - ((32.8387758 39.921719, 32.8388899 39.9216143, 32.8388108 39.9215635, 32.8386967 39.9216683, 32.8385826 39.9217729, 32.8386617 39.9218236, 32.8387758 39.921719)), - ((32.8391858 39.9216076, 32.8390727 39.9216865, 32.839258 39.9218426, 32.839371 39.9217637, 32.8394871 39.9216827, 32.8393019 39.9215266, 32.8391858 39.9216076)), - ((32.8406569 39.9214378, 32.8405702 39.9213774, 32.840377 39.9215405, 32.8404636 39.9216009, 32.8405415 39.9216552, 32.8407348 39.9214921, 32.8406569 39.9214378)), - ((32.839525 39.9233369, 32.8396061 39.9234098, 32.8398079 39.9232775, 32.8397267 39.9232047, 32.839525 39.9233369)), - ((32.8391526 39.9230064, 32.8392477 39.9230884, 32.8394622 39.9229421, 32.8393672 39.9228601, 32.8391526 39.9230064)), - ((32.8391068 39.922974, 32.839325 39.9228306, 32.8391863 39.9227064, 32.838968 39.9228498, 32.8391068 39.922974)), - ((32.8395759 39.9230902, 32.8394663 39.9229925, 32.8392657 39.9231248, 32.8393753 39.9232225, 32.8394699 39.9233102, 32.8397065 39.9231555, 32.8396099 39.9230686, 32.8395759 39.9230902)), - ((32.8395067 39.9223277, 32.8397259 39.9221766, 32.8396322 39.9220967, 32.839413 39.9222479, 32.8395067 39.9223277)), - ((32.8369555 39.9216339, 32.8375569 39.9220212, 32.8383334 39.9213147, 32.8377066 39.9209391, 32.8369555 39.9216339)), - ((32.8393963 39.921945, 32.839561 39.9220664, 32.8396899 39.9219635, 32.8395252 39.9218421, 32.8393963 39.921945)), - ((32.8383384 39.9219133, 32.8383747 39.9219362, 32.8383122 39.9219946, 32.838416 39.9220599, 32.8385323 39.9219512, 32.8383922 39.9218631, 32.8383384 39.9219133)), - ((32.8390959 39.921962, 32.8392031 39.9218767, 32.8390032 39.921729, 32.838896 39.9218144, 32.8387923 39.9218969, 32.8389923 39.9220446, 32.8390959 39.921962)), - ((32.8388263 39.922166, 32.838932 39.9220755, 32.8387211 39.9219306, 32.8386154 39.9220211, 32.8385142 39.9221078, 32.8387251 39.9222527, 32.8388263 39.922166)), - ((32.8392264 39.9220743, 32.8393677 39.9221887, 32.8395038 39.9220898, 32.8393625 39.9219754, 32.8392264 39.9220743)), - ((32.8380083 39.9221969, 32.8381778 39.9223081, 32.8383722 39.9221337, 32.8382027 39.9220225, 32.8380083 39.9221969)), - ((32.8385879 39.9223728, 32.8386807 39.9222859, 32.8384679 39.9221522, 32.8383751 39.9222391, 32.8382879 39.9223208, 32.8385006 39.9224545, 32.8385879 39.9223728)), - ((32.8390591 39.9224888, 32.8392902 39.9223326, 32.8391054 39.9221718, 32.8388743 39.9223279, 32.8390591 39.9224888)), - ((32.8392352 39.9225521, 32.8393856 39.9224494, 32.8392885 39.9223658, 32.8391382 39.9224685, 32.8392352 39.9225521)), - ((32.8388967 39.922526, 32.8389495 39.922487, 32.8388237 39.9223885, 32.8386577 39.9225138, 32.8386473 39.9225327, 32.838646 39.9225576, 32.8386966 39.9226073, 32.8387353 39.9226386, 32.8388467 39.9227305, 32.8389221 39.9227921, 32.839041 39.9227065, 32.8389656 39.9226449, 32.8390059 39.9226182, 32.8388967 39.922526)), - ((32.8393599 39.9227419, 32.8396002 39.9225858, 32.8394523 39.922452, 32.8392121 39.9226081, 32.8393599 39.9227419)), - ((32.8395433 39.9229037, 32.8397671 39.9227405, 32.8396144 39.9226174, 32.8393906 39.9227806, 32.8395433 39.9229037)), - ((32.8422398 39.9225756, 32.8423143 39.9224734, 32.8421437 39.9224003, 32.8420692 39.9225024, 32.8419886 39.922613, 32.8421592 39.9226861, 32.8422398 39.9225756)), - ((32.8415828 39.9222961, 32.8415077 39.9223882, 32.8417814 39.9225195, 32.8418565 39.9224274, 32.8415828 39.9222961)), - ((32.8414972 39.9224085, 32.8414187 39.922498, 32.8416885 39.9226372, 32.841767 39.9225478, 32.8414972 39.9224085)), - ((32.8412301 39.9220912, 32.8412417 39.9220791, 32.8413768 39.9221661, 32.8413494 39.9221897, 32.8414765 39.9222712, 32.8416438 39.9221131, 32.8415235 39.922032, 32.8413884 39.921945, 32.8412615 39.9218658, 32.8411045 39.922012, 32.8412301 39.9220912)), - ((32.8418798 39.9223926, 32.8419467 39.9223061, 32.8417145 39.922148, 32.8416178 39.9222623, 32.8418798 39.9223926)), - ((32.8414526 39.9233326, 32.8417262 39.923449, 32.8417961 39.9233524, 32.8415224 39.9232361, 32.8414526 39.9233326)), - ((32.8416497 39.923079, 32.8419908 39.9232232, 32.8420647 39.9231204, 32.8417237 39.9229762, 32.8416497 39.923079)), - ((32.8419959 39.9228948, 32.8421261 39.9227162, 32.8419795 39.9226534, 32.8418493 39.922832, 32.8419959 39.9228948)), - ((32.8420234 39.922937, 32.8423221 39.9230643, 32.8424504 39.9228871, 32.8421518 39.9227598, 32.8420234 39.922937)), - ((32.8414052 39.9225318, 32.8413083 39.9226459, 32.8415794 39.9227812, 32.8416762 39.9226671, 32.8414052 39.9225318)), - ((32.8413403 39.923063, 32.8414674 39.9229078, 32.8412958 39.9228251, 32.8411687 39.9229803, 32.8413403 39.923063)), - ((32.8415525 39.9232103, 32.8418248 39.9233257, 32.8418978 39.9232244, 32.8416254 39.923109, 32.8415525 39.9232103)), - ((32.8421444 39.9234223, 32.8422783 39.9232198, 32.8421116 39.923155, 32.8419777 39.9233575, 32.8421444 39.9234223)), - ((32.8412749 39.9244621, 32.8416017 39.9245397, 32.8416618 39.9243907, 32.8414141 39.924333, 32.8412749 39.9244621)), - ((32.8416925 39.9245516, 32.8419285 39.9246013, 32.8419848 39.9244442, 32.8417488 39.9243944, 32.8416925 39.9245516)), - ((32.8411659 39.9237672, 32.8411035 39.9238628, 32.8413566 39.9239599, 32.841419 39.9238642, 32.8411659 39.9237672)), - ((32.8417664 39.9242015, 32.8420634 39.9242701, 32.842101 39.9241744, 32.841804 39.9241058, 32.8417664 39.9242015)), - ((32.8418715 39.923924, 32.8421788 39.9239946, 32.8422251 39.9238762, 32.8419177 39.9238056, 32.8418715 39.923924)), - ((32.8418338 39.9240732, 32.8421088 39.9241349, 32.8421475 39.9240334, 32.8418725 39.9239717, 32.8418338 39.9240732)), - ((32.8422875 39.9236865, 32.8423111 39.9236913, 32.8423889 39.9235381, 32.8420841 39.9234496, 32.8420087 39.9236124, 32.8419402 39.9237708, 32.8422281 39.9238375, 32.8422875 39.9236865)), - ((32.8416191 39.9235971, 32.8417098 39.9234729, 32.8414347 39.9233547, 32.841344 39.923479, 32.8412649 39.9235956, 32.84154 39.9237053, 32.8416191 39.9235971)), - ((32.8412503 39.9236293, 32.8411805 39.9237311, 32.8414666 39.9238465, 32.8415364 39.9237447, 32.8412503 39.9236293)), - ((32.8417145 39.9243378, 32.8420128 39.9244054, 32.8420519 39.9243041, 32.8417536 39.9242365, 32.8417145 39.9243378)), - ((32.8408732 39.9242134, 32.8411501 39.9242936, 32.8412238 39.9241681, 32.8409542 39.9240823, 32.8408732 39.9242134)), - ((32.8407906 39.9243498, 32.8410914 39.92443, 32.8411362 39.9243313, 32.8408354 39.9242511, 32.8407906 39.9243498)), - ((32.8403008 39.9237533, 32.8401895 39.9236487, 32.8400098 39.9237612, 32.840121 39.9238658, 32.8402099 39.9239493, 32.8403897 39.9238368, 32.8403008 39.9237533)), - ((32.8402494 39.9239938, 32.8403405 39.9240733, 32.8405612 39.9242709, 32.8406162 39.9242343, 32.8407079 39.92405, 32.8405942 39.9239516, 32.8405203 39.9239523, 32.8405514 39.9239313, 32.8404603 39.9238517, 32.8402494 39.9239938)), - ((32.8412826 39.9240597, 32.8413024 39.9240685, 32.8413482 39.9239925, 32.8410584 39.9238898, 32.8410118 39.9239675, 32.8409712 39.9240377, 32.841242 39.9241299, 32.8412826 39.9240597)), - ((32.8407839 39.9218167, 32.8409027 39.9218953, 32.8410661 39.9217501, 32.8409474 39.9216715, 32.8407839 39.9218167)), - ((32.8405557 39.9216884, 32.8407378 39.9218066, 32.8409376 39.9216256, 32.8407554 39.9215074, 32.8405557 39.9216884)), - ((32.840413 39.922509, 32.8405337 39.9225986, 32.840736 39.9224385, 32.8406153 39.9223488, 32.840413 39.922509)), - ((32.840273 39.9224105, 32.8403704 39.922487, 32.8405895 39.9223229, 32.8404921 39.9222464, 32.840273 39.9224105)), - ((32.8407815 39.922285, 32.8408854 39.9223542, 32.8410838 39.9221791, 32.84098 39.9221099, 32.8407815 39.922285)), - ((32.8408152 39.9220073, 32.8406687 39.9219069, 32.8404899 39.9220603, 32.8406363 39.9221607, 32.8406194 39.9221754, 32.8407387 39.9222571, 32.8409333 39.92209, 32.8408152 39.9220073)), - ((32.8401342 39.922315, 32.8402484 39.9223958, 32.8404494 39.9222287, 32.8403352 39.9221479, 32.8401342 39.922315)), - ((32.839714 39.9217292, 32.8396034 39.9218253, 32.8397473 39.9219228, 32.839858 39.9218267, 32.839714 39.9217292)), - ((32.8398644 39.9216267, 32.840046 39.9217541, 32.8401753 39.9216456, 32.8399937 39.9215183, 32.8398644 39.9216267)), - ((32.8397616 39.9235493, 32.8398533 39.9236352, 32.840066 39.9235016, 32.8399743 39.9234157, 32.8397616 39.9235493)), - ((32.8396442 39.9234396, 32.8397335 39.9235195, 32.8398876 39.9234183, 32.8397982 39.9233383, 32.8396442 39.9234396)), - ((32.8396007 39.9229032, 32.8397088 39.9230009, 32.839822 39.9231033, 32.8399344 39.9232049, 32.8401274 39.9230794, 32.8400149 39.9229778, 32.8399017 39.9228754, 32.8397936 39.9227777, 32.8396007 39.9229032)), - ((32.8399022 39.9225923, 32.8399689 39.9226474, 32.8401634 39.9225092, 32.8400968 39.9224541, 32.840026 39.9223955, 32.8398315 39.9225337, 32.8399022 39.9225923)), - ((32.8404132 39.9217727, 32.8402329 39.9216491, 32.8400793 39.9217809, 32.8402596 39.9219045, 32.8404547 39.9220383, 32.8406083 39.9219065, 32.8404132 39.9217727)), - ((32.8395287 39.9223486, 32.8396383 39.9224323, 32.8398653 39.9222841, 32.8397492 39.9221895, 32.8395287 39.9223486)), - ((32.8400395 39.921955, 32.8399269 39.9218742, 32.8397415 39.9220264, 32.8398541 39.9221071, 32.8399641 39.922186, 32.8401495 39.9220338, 32.8400395 39.921955)), - ((32.8399954 39.9222156, 32.8401056 39.922293, 32.8403041 39.9221269, 32.8401939 39.9220495, 32.8399954 39.9222156)), - ((32.8397194 39.9224381, 32.8398091 39.9225108, 32.8400049 39.9223685, 32.8399152 39.9222959, 32.8397194 39.9224381)), - ((32.8409292 39.9219321, 32.8410448 39.9220049, 32.8412354 39.9218269, 32.8411198 39.9217541, 32.8409292 39.9219321)), - ((32.8409349 39.9223699, 32.841066 39.9224591, 32.8410524 39.9224712, 32.8412228 39.9225868, 32.8413914 39.9224088, 32.8412417 39.9223074, 32.8411105 39.9222181, 32.8409349 39.9223699)), - ((32.8411859 39.9227501, 32.8411657 39.9227392, 32.8411802 39.9227234, 32.8410998 39.9226798, 32.8409355 39.9228578, 32.8410362 39.9229124, 32.8410695 39.9228764, 32.8411506 39.9229192, 32.8412648 39.9227919, 32.8411859 39.9227501)), - ((32.8412223 39.9232201, 32.8413057 39.9231114, 32.8410567 39.922999, 32.8409733 39.9231077, 32.8412223 39.9232201)), - ((32.8411484 39.9233564, 32.8412186 39.9232655, 32.8410085 39.92317, 32.8409383 39.9232609, 32.8411484 39.9233564)), - ((32.8407541 39.9227427, 32.8408819 39.9228359, 32.841066 39.9226608, 32.8409564 39.9225796, 32.8407541 39.9227427)), - ((32.8399969 39.9226888, 32.8400929 39.9227694, 32.8403172 39.9226122, 32.8402213 39.9225316, 32.8399969 39.9226888)), - ((32.8402822 39.9227007, 32.8401072 39.9228111, 32.8401907 39.922889, 32.8403657 39.9227786, 32.8402822 39.9227007)), - ((32.8405816 39.9226273, 32.8407149 39.9227224, 32.8409211 39.9225523, 32.8407878 39.9224572, 32.8405816 39.9226273)), - ((32.8403795 39.923019, 32.8404711 39.9230976, 32.8407006 39.9229405, 32.840609 39.9228618, 32.8403795 39.923019)), - ((32.8402563 39.9229165, 32.8403535 39.9230015, 32.8405869 39.9228443, 32.8404897 39.9227594, 32.8402563 39.9229165)), - ((32.8399761 39.9237434, 32.8401852 39.9236042, 32.8400931 39.9235228, 32.839884 39.923662, 32.8399761 39.9237434)), - ((32.8408747 39.9232788, 32.8408216 39.9233166, 32.8407762 39.9233583, 32.8407554 39.9233981, 32.8407814 39.9234349, 32.8408293 39.9234797, 32.840902 39.9235334, 32.8409538 39.9235603, 32.8410939 39.9233832, 32.8408747 39.9232788)), - ((32.8402806 39.9235507, 32.8405135 39.9233974, 32.840421 39.9233147, 32.8401881 39.9234681, 32.8402806 39.9235507)), - ((32.840398 39.9236562, 32.8406217 39.9235043, 32.8405319 39.9234265, 32.8403081 39.9235784, 32.840398 39.9236562)), - ((32.8407593 39.9236182, 32.8406599 39.9235317, 32.8404288 39.9236879, 32.8405282 39.9237744, 32.8407565 39.9239565, 32.8409105 39.9237385, 32.8407593 39.9236182)), - ((32.840504 39.9231294, 32.8406204 39.9232263, 32.8408344 39.9230751, 32.840718 39.9229782, 32.840504 39.9231294)), - ((32.840143 39.923434, 32.8403741 39.923275, 32.8401782 39.9231075, 32.8399471 39.9232665, 32.840143 39.923434)), - ((32.8406646 39.923246, 32.8407463 39.9233275, 32.8408566 39.9232499, 32.8408514 39.9231664, 32.840819 39.9231375, 32.8406646 39.923246))), MULTIPOLYGON (((32.8335774 39.9215838, 32.833819 39.9216408, 32.8339224 39.9213897, 32.8336976 39.9212842, 32.8335774 39.9215838)), ((32.8324345 39.9216266, 32.8327095 39.9216921, 32.832764 39.9215576, 32.832489 39.921492, 32.8324345 39.9216266)), ((32.8329976 39.921638, 32.8332763 39.9217021, 32.8333239 39.9215805, 32.8330451 39.9215164, 32.8329976 39.921638)),