मुझे SQL सर्वर का उपयोग करके लिनेस्ट्रिंग से अंक निकालने की आवश्यकता है। मुझे पता है कि मैं ज्यामिति के साथ निर्देशांक देख सकता हूं। टॉस्ट्रिंग() लेकिन मुझे नए बिंदु ज्यामिति की आवश्यकता है। यह मेरे द्वारा कैसे हो सकता है?अंक से लिस्टिंग
7
A
उत्तर
1
मैं ज्यामिति डेटा प्रकार के बारे में कुछ भी नहीं करने के लिए अगले पता है, लेकिन documentation का कहना है कि आप STNumPoints
का उपयोग कर वस्तु में अंकों की संख्या और फिर STPointN
का उपयोग करने वाले अंक को पुनः प्राप्त।
6
यहाँ कैसे एक LineString से अंक निकालने के लिए पर एक छोटे से उदाहरण है:
declare @LineString geography,
@loop int
declare @Points table (Point geography)
set @LineString = geography::Parse('LINESTRING(
-22.8317451477051 -43.4041786193848,-22.8308925628662 -43.4045524597168,-22.8314971923828 -43.404727935791,
-22.833927154541 -43.4069404602051,-22.8267574310303 -43.4071388244629)')
set @loop = @LineString.STNumPoints()
while @loop > 0
begin
insert into @Points values(@LineString.STPointN(@loop))
set @loop = @loop -1
end
select Point.Lat as Lat, Point.Long as Long from @Points
और नहीं देते: T-SQL में स्थानिक डाटा एक छोटे से मुश्किल है, लेकिन यह काम करता है!
12
आप एसक्यूएल 2005+ उपयोग कर रहे हैं, मैं एक CTE के साथ यह कर की सिफारिश करेंगे:
DECLARE @GeometryToConvert GEOMETRY
SET @GeometryToConvert =
GEOMETRY::STGeomFromText('LINESTRING (-71.880713132200128 43.149953199689264, -71.88050339886712 43.149719933022993, -71.880331598867372 43.149278533023676, -71.88013753220099 43.147887799692512, -71.879965998867931 43.147531933026357, -71.879658998868422 43.147003933027179, -71.879539598868575 43.146660333027739, -71.879525332201979 43.145994399695439, -71.87959319886852 43.145452399696296, -71.879660598868384 43.14531113302985, -71.879915932201357 43.145025599696908, -71.879923198868028 43.1449217996971, -71.879885998868076 43.144850733030523, -71.879683932201715 43.144662333030851, -71.879601398868488 43.144565333030982, -71.879316798868956 43.144338333031328, -71.879092332202617 43.144019799698469, -71.8789277322029 43.143902533032019, -71.878747932203169 43.143911533031996, -71.878478132203554 43.14405779969843, -71.878328332203807 43.144066133031743, -71.878148732204068 43.144016599698489, -71.8772655988721 43.143174533033118, -71.876876198872708 43.142725133033821, -71.876801532206173 43.142654933033953, -71.876629398873092 43.142600733034044)', 4269)
;
WITH GeometryPoints(N, Point) AS
(
SELECT 1, @GeometryToConvert.STPointN(1)
UNION ALL
SELECT N + 1, @GeometryToConvert.STPointN(N + 1)
FROM GeometryPoints GP
WHERE N < @GeometryToConvert.STNumPoints()
)
SELECT *, Point.STAsText() FROM GeometryPoints
पाठ परिणाम
स्थानिक परिणाम - STBuffer (0.0001)
संबंधित मुद्दे
- 1. लाटेक्स लिस्टिंग पैकेज: कॉपी-पेस्टेबल लिस्टिंग
- 2. Google नक्शे से स्थानीय लिस्टिंग छुपाएं एपीआई
- 3. एक्स अक्ष से अंक
- 4. लिस्टिंग सी स्थिरांक/मैक्रो
- 5. लिस्टिंग यम समूह
- 6. आंशिक निर्देशिका लिस्टिंग
- 7. टीवी गाइड लिस्टिंग API
- 8. * फास्टस्ट * निर्देशिका लिस्टिंग
- 9. लेटेक्स लिस्टिंग पैकेज
- 10. Jquery स्वत: पूर्ण - लिस्टिंग
- 11. पीएचपी: लिस्टिंग उपनिर्देशिका
- 12. पार्स HTTP निर्देशिका लिस्टिंग
- 13. सभी एसवीएन भंडार लिस्टिंग
- 14. लाटेक्स, बीमर और लिस्टिंग
- 15. सभी इंडेक्स लिस्टिंग
- 16. अंक
- 17. अंक
- 18. अंक
- 19. अंक
- 20. अंक
- 21. अंक
- 22. अंक
- 23. पीएच से एनएच अंक जावा
- 24. समय पर आधारित निर्देशिका लिस्टिंग
- 25. लिस्टिंग स्थापित पायथन साइट-पैकेज?
- 26. बदलें "लिस्टिंग की सूची" पाठ
- 27. स्वैगर यूआई त्रुटि: एपीआई लिस्टिंग
- 28. लिस्टिंग में शीर्षक कैसे बदलें?
- 29. पिछला अंक
- 30. 3 अंक
आपने अपने अंक इस तरह कैसे दिखते हैं? जब मैं अंक प्रदर्शित करता हूं तो वे मुश्किल से सुस्पष्ट होते हैं। –
एसटीबीफर() फ़ंक्शन का उपयोग करना। आदर्श मूल्य इस बात पर निर्भर करता है कि आप इसका उपयोग ज्यामिति या भूगोल पर कर रहे हैं http://technet.microsoft.com/en-us/library/bb933965.aspx –
हाँ मैं एसटीबीफर (1) और अंक के साथ भूगोल का उपयोग कर रहा हूं oblong हैं। मैं उन्हें आपकी तरह सही सर्कल कैसे बना सकता हूं? –