2011-01-18 20 views
6

मैं प्रतिष्ठित लंदन भूमिगत [ट्यूब] मानचित्र के समान शैली में परिवहन मानचित्र उत्पन्न करना चाहता हूं।नक्शा उत्पन्न करना गतिशील रूप से

ये मानचित्र समय-समय पर बदल जाएंगे और कई को इसकी आवश्यकता होगी ताकि मैन्युअल रूप से इनक्सकेप [या इसी तरह] में उन्हें मैन्युअल रूप से खींचने की बजाय मुझे डीबी या डेटासेट से गतिशील रूप से उत्पन्न होने की उम्मीद है।

क्या किसी को पता है कि कोई लाइब्रेरी एपिस इत्यादि है या नहीं, जो इस कार्य में मदद करेगा, या इस बारे में कोई सुझाव है कि इस बारे में कैसे जाना है [या कैसे नहीं]?

मुझे लगता है कि svg के साथ जाने का सबसे अच्छा तरीका होगा, साथ ही लाइन के नीचे मूल अंतःक्रियाशीलता की आवश्यकता हो सकती है।

मैं php में काम कर रहा हूं अन्यथा यह GDlib, ImageMagick है?

अग्रिम धन्यवाद।

.k

+0

आप वास्तव में फ्लाई पर आकर्षित कर सकते हैं। देखें: php.net/manual/en/book.image.php। लेकिन, छवि प्रसंस्करण सामान्य अधिकतम-स्मृति-सीमा की एक बड़ी राशि लेता है। क्या आपने कुछ प्रकार के एडमिन इंटरफ़ेस (या किसी भी डेटा परिवर्तन पर ट्रिगरिंग) पर विचार किया है ए) जब भी बदले गए नंबरों में प्लग करें, तो बी) एक स्थिर छवि को फिर से बनाएं? इस तरह क्लाइंट अनुरोधों को किसी भी वास्तविक छवि निर्माण से निपटने की आवश्यकता नहीं है। –

उत्तर

1

ठीक है, इस सवाल का जवाब वास्तव में कैसे जी.डी. या ImageMagick उपयोग करने के लिए नहीं है, वहाँ उस के लिए मैनुअल है। सहायक पुस्तकालयों के लिए, अधिकांश पुस्तकालय ग्राफिंग पर ध्यान केंद्रित करते हैं, और कुछ भी आपको स्वयं को लिखना होगा। समाधान के रूप में आपकी सबसे अच्छी शर्त यह होगी कि आपका व्यवस्थापक इंटरफ़ेस छवियों को उत्पन्न करेगा जब बैकएंड में डेटा बदलता है और छवियों को कैश करता है, क्योंकि हर बार जब कोई इसे एक्सेस करता है तो छवि बनाने का कोई कारण नहीं होता है।

मानचित्र बनाने के लिए, मुझे लगता है कि आपकी सर्वश्रेष्ठ शर्त एक या कई 'लाइनों' के साथ स्टेशनों को परिभाषित करेगी जो आसपास के स्टेशनों के संबंधों के कुछ प्रकार के संकेतक निर्धारित करती हैं, और एक एक्स, वाई। आपको शायद केवल 'पैरेंट' स्टेशन निर्धारित करने की आवश्यकता होगी क्योंकि आप केवल ए-बी से रेखाएं खींच रहे हैं। इस तरह आप उन्हें उसी तरह से स्थिति में रख सकते हैं जैसे उन्हें आम तौर पर वास्तविक ट्रेनों पर प्रस्तुत किया जाता है, मैपिंग आकर्षित करने के लिए लाइनों और आसपास के स्टेशनों का उपयोग करें।

कोई समस्या बहुत मुश्किल नहीं लगती है। 3 टेबल:

  • स्टेशनों [stationid, नाम, एक्स, वाई, meta1, meta2],
  • प्लेसमेंट [placementid, stationid, lineid, parentstationid],
  • लाइनों [lineid, नाम, meta1, meta2 , रंग, आदि]।

एसवीजी इस तरह की चीज़ पर बहुत अच्छा होगा, और आप पूरी छवि निर्माण और कैशिंग प्रक्रिया से बचेंगे, लेकिन ब्राउज़र समर्थन के मुद्दों से सावधान रहें।

हालांकि एक बहुत दिलचस्प परियोजना की तरह लगता है, अच्छी किस्मत :)

0

एक रणनीति का उपयोग मैं जब मैं एक DB में डेटा से ग्राफ़ बनाने की जरूरत है एक्सएमएल तरह से किसी तरह का (जैसे ओरेकल SQLX में डेटा निकालने के है या कोकून एक्सएसपी/ईएसक्यूएल या ईएक्सिस्ट-डीबी एक्सक्वियर) और एसवीजी उत्पन्न करने के लिए इसे एक्सएसएलटी के माध्यम से संसाधित करें। अच्छा पुराना कोकून इस तरह के काम के लिए ठीक है अगर आप कोई कोड नहीं लिखना चाहते हैं (निश्चित रूप से एक्सएसएल को छोड़कर ;-)।

एसवीजी स्वयं कुछ ग्राफिक टूल्स में पुन: प्रसंस्करण के लिए लोड किया जा सकता है।

0

ये नक्शे-समय पर समय के लिए बदल जाएगा और कई उन्हें एक db या डाटासेट से गतिशील रूप से उत्पन्न किया है बजाय इंकस्केप [या इसी तरह के] मैं की उम्मीद कर रहा हूँ में उन्हें मैन्युअल रूप से ड्राइंग की तो आवश्यकता होगी ।

अगर मैं आपके जूते में था, तो सबसे पहले मैं यह साबित करने का प्रयास करता हूं कि Google मानचित्र API आपके एप्लिकेशन के लिए काम नहीं करेगा। फिर, शायद साबित करें कि आर्कजीआईएस काम नहीं करेगा। (भले ही वे काम नहीं करते हैं, वे व्यापक रूप से उपयोग किए जाते हैं, और आप अपने सीवी में लाइन जोड़ना चाहते हैं।)

संबंधित मुद्दे