2013-04-18 5 views
18

मेरे पास svg तत्व है जो कई अलग-अलग path ऑब्जेक्ट्स से बना है, जिनमें से प्रत्येक एक यू.एस. राज्य का प्रतिनिधित्व करता है। enter image description hereडी 3: आंतरिक एसवीजी पथ मर्ज करें?

http://jsfiddle.net/jGjZ2/

मैं नहीं दिखाई डिवीजनों के साथ एक एकल पथ वस्तु में पूर्व क्षेत्र (सोना) मर्ज करना चाहते हैं।

अंतिम परिणाम (अशुद्धियों की अनदेखी) इस तरह दिखना चाहिए: enter image description here

मैं डी 3 का उपयोग कर रहा हूँ। कोई जियोज़सन या टॉपोज़ोन डेटा नहीं है - नक्शा एसवीजी सीधे एचटीएमएल में एम्बेडेड है (jsfiddle देखें)।

बहुत बहुत धन्यवाद!

+0

यदि आपको यह ऑनलाइन करने की आवश्यकता नहीं है, [यह प्रश्न] (http://stackoverflow.com/questions/8420653/merging-svg-paths-of-several-neighboring-us-states) मदद करेगा। –

+0

हमें एक ही समस्या थी: http://stackoverflow.com/questions/15473765/merge-two-svg-path-elements-programatically – jantimon

उत्तर

19

मान लिया जाये कि आप एक मौजूदा एसवीजी छवि जोड़ तोड़ की घोषित प्रतिबंध को अनदेखा कर सकते हैं (जो कार्टोग्राफिक सीमाओं की उपलब्धता को देखते हुए एक मनमाना प्रतिबंध की तरह लगता है और अधिक आसानी से हेरफेर प्रारूपों ...), आप उपयोग topojson.mesh कई मर्ज करने के लिए कर सकते हैं बहुभुज

merged polygons

एक और सरल दृष्टिकोण सिर्फ दो बार आकर्षित करने के लिए प्रकाश डाला बहुभुज है:: हालांकि, इस दृष्टिकोण में कुछ सीमाएँ हैं इस उदाहरण में वर्णित के रूप में ध्यान दें एक घने काले स्ट्रोक और कोई भरण के साथ एक बार, और एक नारंगी भरने और कोई स्ट्रोक के साथ शीर्ष पर दूसरी बार। यह सांस्थितिक हेरफेर के लिए किसी भी आवश्यकता के बिना एक ही प्रभाव को प्राप्त होता है:

merging polygons

मुझे लगता है यदि आप वास्तव में करने के लिए, आप एसवीजी तत्व में पहुंच सकते हैं और वेक्टर डेटा निकाल कर एक ही बात कर सकता था, लेकिन कहीं भी होगी यदि आप साफ डेटा से शुरू करते हैं तो आसान हो जाएं।

+0

मैं बस टॉपोजसन के साथ ऐसा करने के लिए देख रहा था - धन्यवाद! – nrabinowitz

+0

मैं आपकी दूसरी विधि की तरह कुछ समझने की कोशिश कर रहा था लेकिन कुछ भी ध्यान में नहीं आया। उत्तम! अनुलेख इस पुस्तकालय के साथ बढ़िया काम। –