/ * शायद इससे मदद मिलती है:
अजीमुथ - पी / 2 आरएचआर बहुभुज के पक्षों का बाहरी रूप से सामना करना पड़ रहा है:
यहाँ एक PostGIS उदाहरण है, आप अंत में स्टेटमेंट का उपयोग करके bldg117862 टेबल बना सकते हैं। SRID EPSG 2271 (PA StatePlane North Feet) है और ज्यामिति एक मल्टीपोलीगॉन है। ArcGIS 10 में कल्पना करने के लिए, तालिका bldg117862 बनाने के बाद पोस्टगिस के लिए क्वेरी लेयर कनेक्शन में क्वेरी / उपश्रेणियों को चिपकाएँ। * /
- === QUERY का ===
/ * बाहरी क्वेरी बाहरी जावक orthogonals के उन्मुखीकरण प्रदान करता है, और पक्षों के मध्य बिंदु से पक्षों के रूप में समान लंबाई के जावक orthogonal लाइनों बनाता है।
प्रमुख सामना दिशा (ओं) की लंबाई का योग होगा, उन्मुखीकरण द्वारा समूहीकृत, अवरोही क्रम में * /
अभिविन्यास के रूप में साइड_आईडी, लंबाई, डिग्री (ऑर्थोज़) के रूप में चयन करें। st_makeline (st_setsrid (st_line_interpolate_point (geom, 5। 22)), 2271), stsetsrid (st_makepoint (st_line_interpolate_point) (geom। 5)। orthoaz))), st_y (st_line_interpolate_point (geom, .5)) + (लंबाई * (cos (orthoaz)))), 2271)) से geom के रूप में
- बाहरी बाहरी उपकुंजी प्रत्येक बिंदुओं के लिए बाहरी बिंदुओं की ओर की ओर जोड़े से बिंदुओं की जोड़ी बनाती है, प्रत्येक खंड के लिए ऑर्थमथ (ऑर्थोज़) की गणना करती है
(SELECT bldg2009gid, line_id, st_length (st_makeline (startpoint, endpoint)) :: संख्यात्मक (10,2) लंबाई के रूप में, azimuth (startpoint, समापन बिंदु), azuth (startpoint, समापन बिंदु) - pi () / 2 orthoaz, st_makeline के रूप में startpoint, एंडपॉइंट) से जियोम के रूप में
/ * अंतरतम सबक्वेरी - जेनरेट_सेरीज़ () का उपयोग कर पॉलीगोंस को पक्षों के स्टार्टपॉइंट / एंडपॉइंट पॉइंट जोड़ियों में विघटित करना - नोट 1 - सभी बहुभुज पक्षों के सामान्य अभिविन्यास को सुनिश्चित करने के लिए राइट-हैंड-नियम नोट 2 - उदाहरण बहुभुज का उपयोग करता है, बहुभुज के लिए ज्यामिति () हटाया जा सकता है */
(SELECT generate_series (1, npoint (externalring (geometryn (st_forceRHR (geom), 1))) - 1) line_id के रूप में, gid को bldg2009gid, pointn (externalring (geometryn (st_forceRHR (geom), 1)), Gener_series (1) के रूप में चुनें। npoint (एक्सट्रीमिंग (ज्यामिति (st_forceRHR (geom)), 1))) - 1)) startpoint, pointn (externalring (ज्यामिति (st_forceRHR (geom)), 1)) के रूप में, generate_series (2, npoints (ज्यामिति (st_forceRHR)) ), 1))))) t1 से b1g के रूप में) bldg117862 से समापन बिंदु के रूप में)
- === END of QUERY ===
- bldg117862 टेबल स्टेटमेंट बनाएँ / डालें
STANDARD_CONFORMING_STRINGS को सेट करें; Select DropGeometryColumn ('', 'bldg117862', 'geom'); DROP टेबल "bldg117862"; शुरू; क्रिएट टेबल "bldg117862" (gid serial PRIMARY KEY, "motherpin" varchar (14), "taxpin" varchar (14), "status" varchar (15), "क्षेत्र" संख्यात्मक, "prev_area" सांख्यिक, "pct_change" सांख्यिक। "चित्र" varchar (133), "mappage" varchar (6), "sref_gid" int4, "e_address" varchar (19), "a_address" varchar (19), "perim" संख्यात्मक, "card" int4, "a_addnum" int4, "e_street" varchar (50), "a_street" varchar (50), "e_hsnum" varchar (10)); Add AddeeometryColumn ('', 'bldg117862', 'geom', '2271', 'MULTIPOLYGON', 2); 0106000020DF080000010000000103000020DF080000010000000B0000008C721D6C98AC34415E2C5BB9D3E32541AE56DE17BEAC34410613E5A0A0E325411AB6C794AEAC3441BA392FE372E32541C89C38429DAC3441643857628AE325418C299A9095AC3441F66C29B573E32541983F02087EAC34413080AA9F93E325419BAC3C0A86AC3441AC1F3B3DABE32541803A40B974AC3441E8CF3DB9C2E325413E3758C186AC3441D0AAB0E7F7E325410AAAA5429BAC3441BA971217DCE325418C721D6C98AC34415E2C5BB9D3E32541 '); क्रिएट INDEX "bldg117862_geom_gist" पर "bldg117862" जिस्ट ("जियोम" gist_geometry_ops) का उपयोग कर; समाप्त;