Jedynym dobrym sposobem tworzenia okręgów w ArcMap jest użycie prawdziwego łuku (krzywe złożone), ale muszę przekonwertować je na wierzchołki (zagęszczenie) z powodu problemu ze zgodnością. Potrzebuję informacji o geobazie danych i SDO_geometry (arcsde)
i tak jest sposób. Używam:
UPDATE layer1 a SET arctype = 'compound' WHERE has_compound_curves(a.shape) <> 0;
a następnie za pomocą ET Geotools zagęścić warstwę po warstwie.
Ale powinien istnieć łatwiejszy sposób na zrobienie tego w Oracle lub ArcMap, a ja chcę tylko zagęścić funkcje, które mają prawdziwy łuk. Nie chcę żadnych niepotrzebnych wierzchołków na liniach prostych i tak dalej.
Jak mogę zidentyfikować prawdziwe łuki w ArcMap i jak mogę je zagęścić tak szybko i łatwo, jak to możliwe?
To samo dotyczy Oracle SQL.
Odpowiedzi:
Zadano mi to pytanie dzisiaj („Jak rozpoznać, czy klasa obiektów ma krzywe) i otrzymałem sugestie dotyczące kodu arkadowego . Zmodyfikuj poniższy kod według własnego uznania (na przykład zmienna flagi zamiast komunikatu)
źródło
Korzystając z funkcji Densify , segmenty krzywej są upraszczane poprzez zagęszczanie za pomocą parametru Maksymalny kąt odchylenia lub Maksymalne odchylenie przesunięcia.
Zatem odcinki linii prostej pozostaną nienaruszone.
źródło
Myślę, że po ich wybraniu możesz je zagęścić. Poniższy (nieprzetestowany) kod można dostosować w tym celu. (Zakłada się, że krzywe Beziera kwalifikują się jako łuki).
źródło
ten dodatek Curves And Lines pozwala wybrać kształty z krzywymi: http://www.arcgis.com/home/item.html?id=b59665cb906a435da3f8c45332d7cfdf
źródło
Opierając się na odpowiedzi @ KHibma, kursor dostępu do danych ma token,
SHAPE@JSON
którego można użyć do sprawdzenia krzywych bez importowaniajson
modułu.źródło
Stworzyłem również własne rozwiązanie w tym zakresie, oparte na sugestii @geogeek. Stworzyłem model, który porównuje wierzchołki warstw źródłowych z wierzchołkami z zagęszczonej (przy użyciu opcji KĄT) kopii warstwy źródłowej. Dane wyjściowe to warstwa wierzchołków, które „nie pasują” do źródła. Ostatni krok wybiera wszystkie cechy źródłowe, które przecinają niedopasowane punkty, tym samym identyfikując cechy zawierające prawdziwe krzywe.
Ponieważ ten model nie dzieli operacji na początku i na końcu łuku, cała operacja zostanie wyeksportowana. Dlatego jeśli masz pojedynczą geometrię, która jest połączona jako „linia-krzywa-linia-krzywa-krzywa odwrotna-linia”, zostanie wyprowadzona cała operacja, a nie tylko części krzywej. Użyj punktów, aby ustalić, gdzie istnieją rzeczywiste krzywe.
Możesz pobrać model o nazwie „ Identify True Curves ” z galerii „Analiza” w ArcGIS Resource Center.
źródło