Tsql SQL-在X、Y、Z框中拟合数据点
我在SSMS中有一个表,目前有3列。[x] ,[y]和[z](见下表样本) 我将使用此数据创建一个三维模型,因此我尝试将数据点转换为一个1000x1000x1000框 理想情况下,我的目标是创建一个视图或新表,或者至少创建一个select语句,该语句只接受最大的x、y和z值,将这些值设置为1024,然后以某种方式变换其余的数据点,以便它们与周围点的相对距离仍然相同。(如果这有意义的话?)正如您从样本中看到的,X和Y远远超出了所需的范围 表格样本Tsql SQL-在X、Y、Z框中拟合数据点,tsql,Tsql,我在SSMS中有一个表,目前有3列。[x] ,[y]和[z](见下表样本) 我将使用此数据创建一个三维模型,因此我尝试将数据点转换为一个1000x1000x1000框 理想情况下,我的目标是创建一个视图或新表,或者至少创建一个select语句,该语句只接受最大的x、y和z值,将这些值设置为1024,然后以某种方式变换其余的数据点,以便它们与周围点的相对距离仍然相同。(如果这有意义的话?)正如您从样本中看到的,X和Y远远超出了所需的范围 表格样本 X Y Z 1
X Y Z
191106 438253.98 -1694.4952
189577 436750.98 -1716.5457
191723 439258.98 -1611.1542
192336 435909.98 -1642.1016
194749 437363.98 -1716.1238
194955 439394.98 -1568.7328
196368 438367.98 -1534.8014
196337 437207.98 -1545.7195
197387 437815.98 -1635.2943
196613 439527.98 -1547.7865
197067 438447.98 -1489.4183
196917 436722.98 -1506.2191
198433 437852.98 -1485.5884
200319 438479.98 -1430.4632
199402 436639.98 -1533.8686
199713 436178.98 -1513.1188
200880 440296.98 -1391.5241
200682 439695.98 -1371.639
203323 439027.98 -1421.2597
201380 438782.98 -1445.6019
203340 436885.98 -1448.6549
207446 440284.98 -1491.6267
205145 439002.98 -1479.705
206157 438509.98 -1536.9528
207978 436308.98 -1305.442
209665 437926.98 -1455.1272
207666 436249.98 -1416.6149
208014 436921.98 -1343.94
212075 439817.98 -1374.8002
208679 440630.98 -1323.8376
211192 436402.98 -1279.3944
210452 439760.98 -1386.7478
210866 440111.98 -1446.0699
213576 440283.98 -1438.2461
215415 437210.98 -1343.1045
213434 437566.98 -1350.9467
215575 437170.98 -1323.745
217012 437118.98 -1468.6063
218936 436636.98 -1322.4785
217929 436261.98 -1421.3502
219655 436880.98 -1342.3694
220476 436713.98 -1383.1211
219687 436294.98 -1320.2535
218359 439845.98 -1370.6624
222389 435813.98 -1449.1301
223197 436862.98 -1499.2541
220449 437855.98 -1480.1147
224052 436682.98 -1457.941
225385 439215.98 -1445.2534
224875 439058.98 -1453.1954
224611 438088.98 -1428.7523
224523 438640.98 -1374.0964
225388 439474.98 -1403.2189
228256 439065.98 -1363.5486
229816 437234.98 -1424.3758
230441 438093.98 -1559.9587
228173 436542.98 -1549.3953
229327 438042.98 -1381.3427
230226 436970.98 -1407.8287
233820 437086.98 -1382.2457
232178 436166.98 -1385.9663
234608 439996.98 -1468.6711
232418 438061.98 -1447.3259
235974 436656.98 -1381.7027
237590 436235.98 -1399.9012
235966 438663.98 -1370.2727
234652 436002.98 -1420.8281
235570 439423.98 -1390.8704
235931 438110.98 -1542.1993
238525 440095.98 -1482.6536
241616 435684.98 -1446.2368
240304 436988.98 -1472.9517
239200 436845.98 -1442.8028
239792 436927.98 -1407.7895
243214 440116.98 -1480.0391
241129 436652.98 -1517.4193
244601 438268.98 -1398.0311
246074 437269.98 -1454.5629
243281 440017.98 -1521.1655
245258 435815.98 -1403.9929
247566 438524.98 -1546.8568
246994 440542.98 -1438.6206
246275 440195.98 -1596.2303
249734 440143.98 -1483.694
248584 438937.98 -1423.644
247599 439867.98 -1576.9712
248454 437187.98 -1461.8549
250115 437224.98 -1471.2508
251304 440481.98 -1530.8975
251456 438928.98 -1455.6035
255368 440108.98 -1498.3991
254561 438203.98 -1551.4143
257281 439499.98 -1528.5569
254162 437862.98 -1527.261
255902 438131.98 -1466.7475
258635 439942.98 -1558.8969
259902 436111.98 -1517.8925
256287 437393.98 -1670.2096
259228 436783.98 -1489.4766
259618 437333.98 -1604.9076
260749 438923.98 -1565.3387
263245 438080.98 -1501.8154
261966 440096.98 -1614.651
263158 435987.98 -1605.458
262845 439896.98 -1582.5075
265248 440491.98 -1648.508
266856 440411.98 -1706.7038
267613 437850.98 -1694.7547
267655 436194.98 -1660.7436
265172 437557.98 -1610.8256
268341 437296.98 -1610.4581
270493 437391.98 -1695.3816
271324 439506.98 -1593.1007
269317 436616.98 -1655.3611
268178 440099.98 -1561.5692
272987 438820.98 -1494.7628
271824 439455.98 -1534.2566
270492 436870.98 -1632.1811
275297 438523.98 -1613.9092
275924 439874.98 -1599.9024
273780 439553.98 -1663.6221
277244 440409.98 -1575.6931
276636 438806.98 -1636.9198
276817 439217.98 -1514.7822
278485 436804.98 -1624.9701
278989 440529.98 -1536.7674
279414 437012.98 -1572.2877
278105 436420.98 -1607.4551
279341 437534.98 -1605.5338
281636 437969.98 -1514.9627
282599 440158.98 -1657.814
280493 439286.98 -1534.0811
283804 436881.98 -1738.765
189594 435519.98 -1658.5641
191397 435010.98 -1700.8264
191654 435011.98 -1589.1115
193361 439236.98 -1496.7807
194678 436421.98 -1548.643
194814 435210.98 -1562.5543
195911 439563.98 -1457.9624
197437 437528.98 -1612.1455
194251 439615.98 -1584.9062
196280 437754.98 -1626.5308
196240 435858.98 -1438.134
199846 439333.98 -1433.1658
197226 437268.98 -1626.6341
198871 437307.98 -1458.615
200988 435776.98 -1493.2658
198499 435915.98 -1406.514
199674 438567.98 -1425.0381
204528 436364.98 -1391.2642
204078 438951.98 -1401.7545
204659 436058.98 -1371.4057
206808 435097.98 -1478.2608
204738 437733.98 -1477.4681
207029 438227.98 -1356.5324
205945 438909.98 -1341.7529
206490 436152.98 -1363.2217
208602 436348.98 -1430.9503
209461 435603.98 -1382.5246
209519 436010.98 -1372.4789
208376 439795.98 -1414.4512
212107 437604.98 -1353.8593
210440 435475.98 -1407.1026
209711 435302.98 -1466.2034
据我所知,你需要为你的点找到新的坐标。所以,你们必须找到1024之间的比率和最大值和最小值之间的差值(D)。更新数据,使最高值为(D),然后乘以比率
with cte as (
select
min(val) minVal, 1024/(max(val)-min(val)) k
from (
select x val from myTable
union all select y from myTable
union all select z from myTable
) t
)
select
x, y, z, (x-minVal)*k newX, (y-minVal)*k newY, (z-minVal)*k newZ
from
myTable
cross join cte
据我所知,你需要为你的点找到新的坐标。所以,你们必须找到1024之间的比率和最大值和最小值之间的差值(D)。更新数据,使最高值为(D),然后乘以比率
with cte as (
select
min(val) minVal, 1024/(max(val)-min(val)) k
from (
select x val from myTable
union all select y from myTable
union all select z from myTable
) t
)
select
x, y, z, (x-minVal)*k newX, (y-minVal)*k newY, (z-minVal)*k newZ
from
myTable
cross join cte