рдлрд┐рд░ рд╕реЗ - рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ 2 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдЕрднреНрдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рдПрдХ рд▓рдВрдмреА рдФрд░ рдХрдард┐рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереА:
blogs.technet.com/b/isv_team/archive/2010/01/18/3306462.aspxblogs.technet.com/b/isv_team/archive/2010/01/21/3307201.aspxblogs.technet.com/b/isv_team/archive/2010/01/23/3307719.aspxblogs.technet.com/b/isv_team/archive/2010/01/24/3307804.aspxрддрдм рд╕реЗ, рд╡рд┐рдЬреНрдЮрд╛рди рдиреЗ рдмрд╣реБрдд рдЖрдЧреЗ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдлрд┐рд░ рд╕реЗ SQL Server рдХреЛ рд╣рдорд╛рд░реЗ рд╡рд┐рд╢рд╛рд▓ рджреЗрд╢ рдХреЗ рдирдХреНрд╢реЗ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░ рдорд╛рдирдЪрд┐рддреНрд░ рд▓реЗрдЦрдХреЛрдВ, рдирдП SQL рд╕рд░реНрд╡рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рдзрдиреНрдпрд╡рд╛рдж, рдЬреЛ рдЖрдк рд╕рднреА рдХреЛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рджреЗрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
1. рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдб
2. SQL рд╕рд░реНрд╡рд░ 2012 (рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)
3. рдПрдХ рдирдХреНрд╢рд╛ рдХреЛ рдЕрдкрдиреЗ рдореВрд▓ рдкреНрд░рд╛рд░реВрдк рд╕реЗ SQL рд╕рд░реНрд╡рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдЙрдкрдХрд░рдгред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп рдбреЗрдирд┐рд╢ MVP рдореЛрд░реНрдЯрди
gadegaard Nielsen рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдЕрджреНрднреБрдд рдореБрдлреНрдд
Shape2SQL рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдИрдПрд╕рдЖрд░рдЖрдИ рдореЗрдВ рдЬреАрдЖрдИрдПрд╕ рд▓реАрдб рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рднрдЧрд╡рд╛рди рдЙрд╕реЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ESRI (рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯрд▓ рд╕рд┐рд╕реНрдЯрдо рд░рд┐рд╕рд░реНрдЪ рдЗрдВрд╕реНрдЯреАрдЯреНрдпреВрдЯ) рдХреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдЖрд░реНрдХрдЬреАрд╕ рдкрд░рд┐рд╡рд╛рд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд░реВрд╕ рдореЗрдВ рднреА рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рд░реВрдк рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЛ 90 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ ArcView GIS рд╕рдВрд╕реНрдХрд░рдг 2 рдХреЗ рд▓рд┐рдП
рдкреЗрд╢ рдХрд┐рдпрд╛
рдЧрдпрд╛ рдерд╛ , рдФрд░ рдЖрдЬ, рдЗрд╕рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдпрд╣ рднреМрдЧреЛрд▓рд┐рдХ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рдирд┐рдордп рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рддреБрд▓рд╛ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ 2008 рдФрд░ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдЖрдХрд╛рд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред 2012 рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЬреНрдпрд╛рдорд┐рддреАрдп / рднреМрдЧреЛрд▓рд┐рдХ рд╕рдореБрдЪреНрдЪрдп рдХрд╛ рд╕рдорд░реНрдерди - рдпрд╣ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧрд╛ред 2008 рдореЗрдВ, рдореБрдЭреЗ рдПрдХ рдХрд░реНрд╕рд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдиреЛрдЯ 1. SQL рд╕рд░реНрд╡рд░ рдореЗрдВ .shp рдЖрдпрд╛рдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛,
SharpGIS рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ SqlSpatialTools v1.3.0 (348 kb) (рдмрд┐рд▓реНрдб 3759) рдореЗрдВ WPF рдФрд░ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП SqlSpatial рдХреНрд╡реЗрд░реА рдЯреВрд▓ рдореИрдк рдХреНрд▓рд╛рдЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рднреМрдЧреЛрд▓рд┐рдХ рдкреИрдирд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рдмрд╣реБрдд рд╕рдореГрджреНрдз рд╣реИред SSMS рдкрд░рд┐рдгрд╛рдо
рдиреЛрдЯ 2. рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрдиреЛрдВ рдЙрдкрдХрд░рдг, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд╕рдХреА рдЕрдкрдиреА рдЬрд░реВрд░рддреЛрдВ рдпрд╛ рдЖрдирдВрдж рдХреЗ рд▓рд┐рдП рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рддред
рдиреЛрдЯ 3. рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд .NET рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рдЖрдХрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреА рд╣реИ,
рдпрд╣рд╛рдБ рд╕реНрдерд┐рдд
рд╣реИ ред
рдпрд╣ рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ-рдХреНрд╖реЗрддреНрд░реАрдп рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рдЖрдХрд╛рд░-рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдЬреАрдЖрдИрдПрд╕-рд▓реИрдм рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ .shp рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд░реВрд╕реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд╛рдП рдЧрдП: рдЗрд╕ рдкрд░рдд рдХреЛ
CC-BY рдХреЗ рддрд╣рдд рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг, рд╕рдВрд╢реЛрдзрди, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдЕрдзреАрди рд╣реИред рд╣рд╛рдЗрдкрд░рд▓рд┐рдВрдХред рдирдХреНрд╢реЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕рдВрдШреАрдп рд░рд╛рдЬреНрдп рдкрдВрдЬреАрдХрд░рдг, рдХреИрдбрд╕реНрдЯреНрд░реЗ рдФрд░ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлреА рд╕реЗрд╡рд╛ (
рд░реЛрд╕рд░реЗрд╕реНрдЯрд░ ) - рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рд╕реАрдорд╛рдПрдБ, рдУрдкрдирд╕реНрдЯреНрд░реЗрдкреЛрд░ рд░реВрд╕ (
OSM ) - рд░реВрд╕реА рднреВрдорд┐ рд╕реАрдорд╛, рдХрд▓рд┐рдирд┐рдирдЧреНрд░рд╛рдж рдХреНрд╖реЗрддреНрд░ + рдорд╛рд╕реНрдХреЛ рдХреА рд╕реАрдорд╛,
VMap0 рдХреЛ рдЫреЛрдбрд╝рдХрд░ - рдХрд▓рд┐рдирд┐рдирдЧреНрд░рд╛рдж рдХреНрд╖реЗрддреНрд░ рдХреА рддрдЯрд╡рд░реНрддреА + рд╕реАрдорд╛рдПрдБ рдФрд░ рдкрд╣рд▓ рд╕рдореВрд╣ рд╣реИрдВред
GIS-Lab.info рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд╣ рдЧрд╣рд░реА рдкреНрд░рд╢рдВрд╕рд╛ рднреА рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реИред
рдЬреАрдЖрдИрдПрд╕-рд▓реИрдм рдХрд╛рд░реНрдб 3
рдЕрдиреБрдорд╛рдиреЛрдВ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ: рдбрдмреНрд▓реНрдпреВрдЬреАрдПрд╕ 1984 (рдЬреАрдкреАрдПрд╕), рдкреБрд▓рдХреЛрд╡реЛ -1942 рдФрд░ рдЕрд▓рдмрд░реНрд╕-рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛ред рд░реВрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреАрд╕рд░рд╛ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ:

рдЪрд┐рддреНрд░ 1
рдкрд╣рд▓реЗ рджреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ:

Fig.2
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдХреЗрдВрджреНрд░реАрдп рдордзреНрдпрд╛рд╣реНрди = 1050 рдкреВрд░реНрд╡ рдХреЗ рд╕рд╛рде
рдЕрд▓реНрдмрд░реНрдЯреНрд╕ рдХреЗ
рдмрд░рд╛рдмрд░ рд╢рдВрдХреНрд╡рд╛рдХрд╛рд░ рдкреНрд░рдХреНрд╖реЗрдкрдг sys.spatial_reference_systems рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛ред Krasovsky рдЧреЛрд▓рд╛рдХрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдореЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ рдХреЛ рднреВрдЧреЛрд▓ рдкреНрд░рдХрд╛рд░ (SRID = 4326, 4284) рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдЯрд┐рдХрд▓ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдирдХреНрд╢рд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рддреАрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

3 рдЪрд┐рддреНрд░
.Shp / .shx рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд Shape2SQL рд░рдирдЯрд╛рдЗрдо рдЯреВрд▓ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдХреГрддрд┐ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо, SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди, рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдЖрдХреГрддрд┐ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рд╕реНрддрдВрдн рдХрд╛ рдирд╛рдо, рд╕реНрддрдВрдн рдХрд╛ рдирд╛рдо рдЬреЛ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛, рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рдереА, рддреЛ рдпрд╣ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рднреВрдЧреЛрд▓ рдХреЗ рд░реВрдк рдореЗрдВ Albers рд╕рд╛рдЗрдмреЗрд░рд┐рдпрд╛ рдЕрдиреБрдорд╛рдиреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ SQL рд╕рд░реНрд╡рд░ рдРрд╕реЗ SRID рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ - рдбреЗрдЯрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рдпрд╛ рд╕реАрдорд╛ SqlGeography рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХреА рд╕реАрдорд╛ рдХреЗ рдмрд╛рд╣рд░ рд╣реИрдВ - рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рддреБрд░рдВрдд рдПрдХ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдЯрди рдкрд░ рдЕрдкрд▓реЛрдб рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ dbo.regions2010_albsib рддрд╛рд▓рд┐рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рджреА рд╣реИ:

рдЪрд┐рддреНрд░ 4
рдЖрдк
select * from rfmap.dbo.regions2010_albsib
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ SSMS рдореЗрдВ рд╕реНрдерд╛рдирд┐рдХ рдкрд░рд┐рдгрд╛рдо рдЯреИрдм рдкрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ (рдЪрд┐рддреНрд░ 1 рджреЗрдЦреЗрдВ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд░реВрд╕реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рд╣рдореЗрдВ рддреАрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - dbf, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╣реИред SQL рд╕рд░реНрд╡рд░ рдореЗрдВ dbf рдХреИрд╕реЗ рд▓реЛрдб рдХрд░реЗрдВ, рд╣рдо
рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдЧрдП рдереЗ ред рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ
CREATE TABLE dbo.regions2010_captions (
ID int IDENTITY(1,1) NOT NULL,
AREA float NULL,
PERIMETER float NULL,
region varchar(50) NULL
)
рдФрд░ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдФрд░ рдЧрдВрддрд╡реНрдп рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рдорд╛рди рдирд╛рдо рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЪрд┐рддреНрд░рд╛ 5
рдпрджрд┐ рдХреНрд╖реЗрддреНрд░ рдлрд╝реАрд▓реНрдб рдХреА рд▓рдВрдмрд╛рдИ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╣рд╛рде рдореЗрдВ рдХреЛрдИ рдбреАрдмреАрдПрдл рд░реАрдбрд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣реЗрдбрд░ рдХреЛ рдмрд╛рдЗрдирд░реА рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдЖрд▓рд╕реНрдп рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдпрд╛рдд рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХрд╛рдЯ рд╕рдХрддреЗ рд╣реИрдВред Dbf рдХрд╛ рдЖрдпрд╛рдд рд╕рдлрд▓ рд╣реИ, рдФрд░ SQL рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде, рдЙрдирдХреЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:

рдЪрд┐рддреНрд░рд╛ 6
рдорд╛рдирдЪрд┐рддреНрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдореЗрдВ2010_albsib рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ ред2010_captions рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднреМрддрд┐рдХ рдХреНрд░рдо рд╕реЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдиреЗ рднреА рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдпрд╛рдд / рдирд┐рд░реНрдпрд╛рдд рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╡реЗ dbf рдореЗрдВ рдереЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ dbf рдФрд░ shp рдореЗрдВ PK рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдЬрд┐рд╕рд╕реЗ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░, рд╡реИрд╕реЗ, Shape2SQL рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рд╕рд░реЛрдЧреЗрдЯ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдРрд╕реЗ рдХрд╛рд░реНрдб рдирд┐рдкрдЯрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд░рд┐рдХреЙрд░реНрдб 1506 рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░рд┐рдХреЙрд░реНрдб - 1505 (рдЫрд╡рд┐ 1), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪрд┐рддреНрд░рд╛ 4 рдореЗрдВ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, рд╢реЗрдк 2 рдПрд╕рдХреНрдпреВрдПрд▓ рдиреЗ рдпрд╣ рднреА рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ 1506 рдереЗред рдПрдХ рдФрд░ рдХрд╣рд╛рдВ рдЧрдпрд╛? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдПрдХ рднреНрд░реВрдг рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рдЧрдВрднреАрд░ рдЪреВрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрдереНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдЦрд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрддреА рд╣реИ, рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рднреМрддрд┐рдХ рдкрддреНрд░рд╛рдЪрд╛рд░ рдЧреЛрдбреНрдбрдо рджрд╛рджреА рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреМрди рд╕реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдмреАрдЪ рд╕реЗ рдлреЗрдВрдХ рджреА рдЧрдИ рдереАрдВ? рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдкрд░рд┐рдзрд┐ рдХреЙрд▓рдо рд╣реИрдВ, рдЬрд┐рдирд╕реЗ рдЖрдк рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдореЗрдВ рдЦрд╛рд▓реА рдорд╛рдирдЪрд┐рддреНрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рд░рд┐рдХреЙрд░реНрдб рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЪрд┐рддреНрд░ 7
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж,
delete from regions2010_captions where area = 0
рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдерд╛, рдФрд░ рдЕрдВрддрд┐рдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреЗрд╡рд▓ 1505 рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рд╣рдо рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдмрдврд╝рддреЗ рдЖрдИрдбреА рдореЗрдВ рдПрдХ рдирдП рдЖрджреЗрд╢ рдореЗрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХрдИ рд╣рдЯрд╛рдП рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдереЗ рдФрд░ рд╡реЗ рдХрд╣реАрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реЛрдВрдЧреЗред рдмреАрдЪ рдореЗрдВред
alter table regions2010_captions add n int
;with cte as (select *, row_number() over (order by ID) n1 from regions2010_captions) update cte set n = n1
alter table regions2010_captions drop column ID
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рднреМрддрд┐рдХ рд╕реНрдХреИрдирд┐рдВрдЧ рдХреЗ рдХреНрд░рдо рдореЗрдВ, рдХреНрд╖реЗрддреНрд░реЛрдВ2010_albsib рддрд╛рд▓рд┐рдХрд╛ рднреА рдиреАрд▓рд╕рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИред рдлрд┐рд░ рдЗрд╕реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде ID2010_captions рддрд╛рд▓рд┐рдХрд╛ (рдлрд╝реАрд▓реНрдб n) рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╣реБрднреБрдЬ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рдорд╛рд╕реНрдХреЛ рдФрд░ рдЬрд╝реЗрд▓реЗрдиреЛрдЧреНрд░рд╛рдб, рддрдЯреАрдп рдХреНрд╖реЗрддреНрд░ рдФрд░ рджреНрд╡реАрдк, рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
select s.geom from regions2010_captions c join regions2010_albsib s on s.ID = cn where c.region = ' '
:

рдЪрд┐рддреНрд░ 8
рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛрдбрд╝рдХрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
if exists (select 1 from sys.sequences where name = 'Seq') drop sequence Seq
create sequence Seq as int start with 1 increment by 1
if object_id('regions2010', 'U') is not null drop table regions2010
select (next value for Seq) ID, c.region, geometry::UnionAggregate(s.geom) geom
into regions2010
from regions2010_captions c join regions2010_albsib s on s.ID = cn
group by c.region
select * from regions2010
рдпрд╣ рдХреЛрдб SQL Server 2012 рдореЗрдВ рджреЛ рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ: рдЕрдиреБрдХреНрд░рдо рдФрд░ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рд╕рдореБрдЪреНрдЪрдпред

рдЪрд┐рддреНрд░ 9
рд░рдВрдЧ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рд╕рдЪ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рдмрд╣реБрднреБрдЬ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде, рд╣рдорд╕реЗ рдЧрд▓рддреА рдирд╣реАрдВ рд╣реБрдИред
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрд╣реБрднреБрдЬреЛрдВ рдХреЛ рдПрдХ рд╣реА рд░рдВрдЧ рд╕реЗ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реА рдЬреНрдпрд╛рдорд┐рддреАрдп рд╕рдВрдЧреНрд░рд╣ рдХреНрд╖реЗрддреНрд░ (рдмрд╣реБрднреБрдЬ) рд╣реИред рдЖрдк рдХреНрд╡реЗрд░реА рдХрд╛
select ID, Region, geom.STGeometryType(), geom.STNumGeometries() from regions2010
:

рдЪрд┐рддреНрд░ резреж
рдЪрдпрдирд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд▓рд┐рдЦрд╛:
if object_id('dbo.ufnGeometries', 'TF') is not null drop function dbo.ufnGeometries
go
create function dbo.ufnGeometries(@g geometry) returns @t table (id int identity(1, 1), g geometry) as begin
declare @i int = 1
while @i <= @g.STNumGeometries() begin
insert @t (g) values (@g.STGeometryN(@i))
set @i += 1
end
return
end
рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ, рдореВрд▓ рд░реВрдк рд╕реЗ ,2010 рдХреА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдореВрд▓ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓реМрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
select r.ID, r.Region, f.ID, fg from regions2010 r cross apply dbo.ufnGeometries(geom) f

рдЪрд┐рддреНрд░рд╛ 11
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рдХрд╛ рдирд╣реАрдВ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 1503 рд╡рд┐рд╕реНрддреГрдд рдмрд╣реБрднреБрдЬ рд╣реИрдВ, 1505 рдирд╣реАрдВред рдореИрдВ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╣реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рджреЛ рдЬреЛрдбрд╝реЗ рдмрд╣реБрднреБрдЬ рдпрд╛ рддреАрди рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрд┐рдд рдмрд╣реБрднреБрдЬ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ:
with cte as (select s.ID, s.geom, c.region from regions2010_albsib s join regions2010_captions c on s.ID = cn)
select cte1.ID, cte1.geom, cte2.ID, cte2.geom, cte1.geom.STIntersection(cte2.geom).STGeometryType() from cte cte1 join cte cte2 on cte1.ID < cte2.ID and cte1.region = cte2.region
where cte1.geom.STIntersects(cte2.geom) = 1
рджрд░рдЕрд╕рд▓, рдХреБрд▓ рд╕рд╛рдд рдРрд╕реЗ рдЪреМрд░рд╛рд╣реЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 5 рдмрд┐рдВрджреБ рдЪреМрд░рд╛рд╣реЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдпреБрдХреНрдд рд╣реЛрдиреЗ рдкрд░, рдПрдХ рдмрд╣реБрднреБрдЬ рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рд░рддреЗ рд╣реИрдВ, рдФрд░ рджреЛ рдЬреЛрдбрд╝реЗ рдЖрд╕рдиреНрди рдмрд╣реБрднреБрдЬ, рдЕрд░реНрдерд╛рддреНред рдЯреВрдЯреА рд╣реБрдИ рд░реЗрдЦрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЖрдо рд╕реАрдорд╛ рд╣реЛрдирд╛ред рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдПрдХ рдмрд╣реБрднреБрдЬ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ 2 рд╕реЗ рдХрдо рд╣реЛ рдЧрдИ рдереА:

рдЪрд┐рддреНрд░ 12
рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рд╣рдо рдХрдо () рд╡рд┐рдзрд┐ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкреНрд░рднрд╛рд╡ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ 2-3 рдорд┐рдирдЯ рдХреА рджреЗрд░реА рдХреЗ рд╕рд╛рде рдХреНрд╖реЗрддреНрд░реЛрдВ2010 рдХрд╛ рдирдХреНрд╢рд╛ (рдЪрд┐рддреНрд░ 9) рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ - рд╣рдЬрд╛рд░реЛрдВ рдпрд╛ рджрд╕рд┐рдпреЛрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ рдХреЗ рдХреНрд░рдо рд╕реЗ - рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рдореЛрдЪреНрдЪ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрдХрд╛рд░ рдХреЗ рдирдХреНрд╢реЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреА рдЫрд╛рди-рдмреАрди рдЕрддрд┐рд╢реНрдпреЛрдХреНрддрд┐рдкреВрд░реНрдг рд╣реИ, рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рд╕рдордп рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИред рдореЛрдЯреЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Reduce () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдбрдЧрд▓рд╕-рдкреАрдХрд░ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдореВрд▓реНрдп рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЙрддрдирд╛ рд╣реА рдордЬрдмреВрдд рд╣реЛрдЧрд╛ (рд╣рдордиреЗ
рдпрд╣рд╛рдВ рд╕рд╣рд┐рд╖реНрдгреБ рддрд░реАрдХреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
select ID, Region, geom.STNumPoints() [Points Total], geom.Reduce(100).STNumPoints() Reduce100, geom.Reduce(500).STNumPoints() Reduce500, geom.Reduce(1000).STNumPoints() Reduce1000 from regions2010

рдЪрд┐рддреНрд░рд╛ 13
рдЗрд╕ рдкреНрд░рдХрд╛рд░,
select ID, Region, geom.Reduce(1000) from regions2010
рд▓рд┐рдП рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдирдХреНрд╢реЗ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп
select ID, Region, geom.Reduce(1000) from regions2010
рддреЗрдЬреА рд╕реЗ
select ID, Region, geom.Reduce(1000) from regions2010
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдЪрд┐рддреНрд░ 14