diff --git a/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION.dtproj b/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION.dtproj
index bf9a26060b..ae7573c274 100644
--- a/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION.dtproj
+++ b/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION.dtproj
@@ -5,8 +5,8 @@
9.0.1.0
$base64$PFNvdXJjZUNvbnRyb2xJbmZvIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOmRkbDI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yIiB4bWxuczpkZGwyXzI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDAzL2VuZ2luZS8yLzIiIHhtbG5zOmRkbDEwMF8xMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDA4L2VuZ2luZS8xMDAvMTAwIiB4bWxuczpkZGwyMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAiIHhtbG5zOmRkbDIwMF8yMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEwL2VuZ2luZS8yMDAvMjAwIiB4bWxuczpkZGwzMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAiIHhtbG5zOmRkbDMwMF8zMDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDExL2VuZ2luZS8zMDAvMzAwIiB4bWxuczpkZGw0MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAiIHhtbG5zOmRkbDQwMF80MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEyL2VuZ2luZS80MDAvNDAwIiB4bWxuczpkZGw1MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAiIHhtbG5zOmRkbDUwMF81MDA9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vYW5hbHlzaXNzZXJ2aWNlcy8yMDEzL2VuZ2luZS81MDAvNTAwIiB4bWxuczpkd2Q9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vRGF0YVdhcmVob3VzZS9EZXNpZ25lci8xLjAiPg0KICA8RW5hYmxlZD5mYWxzZTwvRW5hYmxlZD4NCiAgPFByb2plY3ROYW1lPjwvUHJvamVjdE5hbWU+DQogIDxBdXhQYXRoPjwvQXV4UGF0aD4NCiAgPExvY2FsUGF0aD48L0xvY2FsUGF0aD4NCiAgPFByb3ZpZGVyPjwvUHJvdmlkZXI+DQo8L1NvdXJjZUNvbnRyb2xJbmZvPg==
- PIMS_PROPERTY_SPATIAL_CORRECTION 11.database
- PIMS_PROPERTY_SPATIAL_CORRECTION 11.database
+ PIMS_PROPERTY_SPATIAL_CORRECTION.database
+ PIMS_PROPERTY_SPATIAL_CORRECTION.database
@@ -41,10 +41,10 @@
Package
1
0
- 47
+ 57
- {C036C22A-FB08-4CA9-8625-018613EC0B33}
+ {D964A069-45BD-4156-8F06-443B81810E43}
8
@@ -77,7 +77,7 @@
0
0
0
- Data Source=sqldevtst.th.gov.bc.ca;Initial Catalog=PIMS_DEV;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;Application Name=SSIS-Package-{C854C770-B13C-477E-8DD4-44721E1B9FCF}sqldevtst.th.gov.bc.ca.PIMS_DEV;
+ Data Source=sqlprd.th.gov.bc.ca;User ID=PIMS_UAT;Initial Catalog=PIMS_UAT;Provider=SQLNCLI11.1;Auto Translate=False;Application Name=SSIS-Package-{C854C770-B13C-477E-8DD4-44721E1B9FCF}sqldevtst.th.gov.bc.ca.PIMS_DEV;
18
@@ -137,7 +137,7 @@
0
0
0
- PIMS_DEV
+ PIMS_UAT
18
@@ -181,7 +181,7 @@
0
0
0
- sqldevtst.th.gov.bc.ca
+ sqlprd.th.gov.bc.ca
18
@@ -196,6 +196,7 @@
0
0
0
+ PIMS_UAT
18
diff --git a/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/Package.dtsx b/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/SPATIAL_CORRECTION.dtsx
similarity index 79%
rename from etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/Package.dtsx
rename to etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/SPATIAL_CORRECTION.dtsx
index a19f112de1..7957b0057c 100644
--- a/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/Package.dtsx
+++ b/etl/PIMS_PROPERTY_SPATIAL_CORRECTION/PIMS_PROPERTY_SPATIAL_CORRECTION/SPATIAL_CORRECTION.dtsx
@@ -12,8 +12,8 @@
DTS:ObjectName="Package"
DTS:PackageType="5"
DTS:ProtectionLevel="0"
- DTS:VersionBuild="47"
- DTS:VersionGUID="{C036C22A-FB08-4CA9-8625-018613EC0B33}">
+ DTS:VersionBuild="57"
+ DTS:VersionGUID="{D964A069-45BD-4156-8F06-443B81810E43}">
8
@@ -26,7 +26,11 @@
+ DTS:ConnectionString="Data Source=sqlprd.th.gov.bc.ca;User ID=PIMS_UAT;Initial Catalog=PIMS_UAT;Provider=SQLNCLI11.1;Auto Translate=False;Application Name=SSIS-Package-{C854C770-B13C-477E-8DD4-44721E1B9FCF}sqldevtst.th.gov.bc.ca.PIMS_DEV;">
+
+
@@ -162,7 +166,7 @@
dataType="System.String"
description="The SQL command to be executed."
name="SqlCommand"
- UITypeEditor="Microsoft.DataTransformationServices.Controls.ModalMultilineStringEditor, Microsoft.DataTransformationServices.Controls, Version=16.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">select cast(BOUNDARY.STAsText() as varchar(max)) as BOUNDARY_TEXT, PROPERTY_ID from PIMS_PROPERTY WHERE BOUNDARY IS NOT NULL and APP_CREATE_USERID in ('APP_PIMS_PROXY_ETL_EDIT', 'LISDB_ETL_USER', 'PMBC_PIMS_BCTFA', 'LISOS_ETL_USER')
+ UITypeEditor="Microsoft.DataTransformationServices.Controls.ModalMultilineStringEditor, Microsoft.DataTransformationServices.Controls, Version=16.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">select cast(BOUNDARY.STAsText() as varchar(max)) as BOUNDARY_TEXT, PROPERTY_ID from PIMS_PROPERTY WHERE BOUNDARY IS NOT NULL and APP_CREATE_USERID in ('APP_PIMS_PROXY_ETL_EDIT', 'LISDB_ETL_USER', 'PMBC_PIMS_BCTFA', 'LISOS_ETL_USER', 'PIMS_ETL_USER')
points = new List();
- foreach (Match match in matches)
+ PolyLabel.PolyLabel newPoint = null;
+ if (stringData.Contains("MULTIPOLYGON"))
{
- string[] latLng = match.Value.Split(' ');
- points.Add(new PointF(float.Parse(latLng[0]), float.Parse(latLng[1])));
+ string multiPolygonPattern = @"\([^()]*\)";
+ var polygonMatches = Regex.Matches(stringData, multiPolygonPattern, RegexOptions.None);
+ foreach (Match polygonMatch in polygonMatches)
+ {
+ var matches = Regex.Matches(polygonMatch.Value, pattern, RegexOptions.None);
+ PolyLabel.PolyLabel tempPoint = getPolygonCentroid(matches);
+ if(newPoint == null || tempPoint.Radius > newPoint.Radius)
+ {
+ newPoint = tempPoint;
+ }
+ }
}
-
- var newPoint = PolyLabel.PolyLabel.GetPolyLabel(points, .1f);
+ else
+ {
+ var matches = Regex.Matches(stringData, pattern, RegexOptions.None);
+ newPoint = getPolygonCentroid(matches);
+ }
+
var bytes = Encoding.UTF8.GetBytes($"POINT ({newPoint.Centroid.X} {newPoint.Centroid.Y})");
Row.POLEOFINACCESSABILITY.AddBlobData(bytes);
@@ -575,6 +592,19 @@ public class ScriptMain : UserComponent
}
}
+ public static PolyLabel.PolyLabel getPolygonCentroid(MatchCollection matches)
+ {
+ List points = new List();
+ foreach (Match match in matches)
+ {
+ string[] latLng = match.Value.Split(' ');
+ points.Add(new PointF(float.Parse(latLng[0]), float.Parse(latLng[1])));
+ }
+
+ var newPoint = PolyLabel.PolyLabel.GetPolyLabel(points, .1f);
+ return newPoint;
+ }
+
}
]]>
SC_4664d38d6d774888963e21557351c901
msBuild
SC_4664d38d6d774888963e21557351c901
- {9DFA908A-4CC6-4FE2-93C1-582187F61F61}
+ {5E55CC12-CF24-4606-A224-6AA9B352D30C}
@@ -1010,6 +1040,18 @@ public class Input0Buffer: ScriptBuffer
+
+ main.cs
+ 142
+ 17
+ True
+ 1
+
+
+ C#
+ 1
+ 1
+
]]>
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAA==]]>
name="BreakpointCollection"
typeConverter="NOTBROWSABLE">
+ arrayElementCount="1">
+ <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
+<SOAP-ENV:Body>
+<a1:ScriptBreakpointInfo id="ref-1" xmlns:a1="http://schemas.microsoft.com/clr/nsassem/Microsoft.SqlServer.VSTAHosting/Microsoft.SqlServer.VSTAScriptingLib%2C%20Version%3D14.0.0.0%2C%20Culture%3Dneutral%2C%20PublicKeyToken%3D89845dcd8080cc91">
+<Enabled>true</Enabled>
+<File id="ref-3">main.cs</File>
+<FileLine>142</FileLine>
+<FileColumn>17</FileColumn>
+</a1:ScriptBreakpointInfo>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+
Size="209,42"
Id="Package\Create Temp Output Table"
TopLeft="53,5.5" />
+
+
@@ -3315,10 +3387,6 @@ AAAAAAAAAAAAAAA=]]>
-
@@ -3341,10 +3409,6 @@ AAAAAAAAAAAAAAA=]]>
-
@@ -3375,43 +3439,61 @@ AAAAAAAAAAAAAAA=]]>
+
-
+
+ Id="Package\Correct PIMS Locations.Paths[VALID_NEW_LOCATION]"
+ TopLeft="143,251.5">
+ End="313.5,67">
+ End="0,33.25" />
+
+
+
+
-
+
+ Id="Package\Correct PIMS Locations.Paths[Output 0]"
+ TopLeft="143,149.5">
-
+ Id="Package\Correct PIMS Locations.Paths[OLE DB Source Output]"
+ TopLeft="143,47.5">
+ End="0,52.5">
-
-
-
-
+ End="0,52.5" />
-
+
+ design-time-name="Package\Correct PIMS Locations\Store Location In Temp Table">
DataSourceViewID
@@ -3483,12 +3547,12 @@ AAAAAAAAAAAAAAA=]]>
TableInfoObjectType
View
+ type="q2:string">Table
+ design-time-name="Package\Correct PIMS Locations\PIMS_PROPERTY_BOUNDARY_VIEW">
DataSourceViewID
@@ -3496,7 +3560,7 @@ AAAAAAAAAAAAAAA=]]>
TableInfoObjectType
Table
+ type="q2:string">View