Przyciąganie punktów do linii w ArcGIS Desktop i automatyzacja przy użyciu VBA?


11

Korzystam z ArcGIS Desktop i chcę stworzyć sieć z funkcją punktową i liniową. Potrzebuję, aby moje punkty były na liniach, więc powinienem zrobić Snap punkt do linii.

Nie wiem jednak, jak to zrobić w ArcGIS, a następnie zautomatyzować go za pomocą kodu w VBA.


Czy wypróbowałeś środowisko przyciągania Edytora?
Jakub Sisak GeoGraphics

„a następnie zautomatyzuj go, pisząc do tego kod w VBA”
Simon

jeśli punkty nie zawierają krytycznych informacji. możesz także przekształcić linię w punkty
Nadeem pobierał opłatę

Odpowiedzi:


22

Przyciąganie punktów do linii za pomocą narzędzi geoprzetwarzania ArcGIS

Założenia:

Masz warstwę punktową i warstwę. Chcesz, aby punkty były przyciągane do warstwy linii.

Instrukcje

1. Użyj Nearnarzędzia, aby znaleźć lokalizacje lokalizacji

  1. W panelu Przybornika ArcGIS wybierz Analysis Tools-> Proximity->Near
  2. Wybierz warstwę punktową jako Input features, warstwę jako Near features. Zaznacz pole Locationwyboru.
  3. Cztery nowe atrybuty zostanie dodany do warstwy punktowej NEAR_FID, NEAR_DIST, NEAR_Xi NEAR_Y.

2. Wyeksportuj warstwę jako tabelę

  1. Otwórz tabelę atrybutów warstwy punktowej
  2. Kliknij Table Optionsprzycisk w oknie tabeli atrybutów i wybierz Export.... Zapisz to plik dbase ( .dbf).
  3. Po wyświetleniu monitu, czy chcesz dodać tabelę do bieżącej mapy, wybierz Yes.

3. Odtwórz warstwę punktów ze stołu

  1. Znajdź tabelę, którą właśnie dodałeś w Table of Contentsokienku. Może być konieczne przełączenie kart, jeśli korzystasz z ArcGIS 9.3 Source.
  2. Kliknij tabelę prawym przyciskiem myszy i wybierz Add XY Data.
  3. Upewnij się, że pole X jest ustawione na NEAR_X, a pole Y na NEAR_Y. W razie potrzeby dostosuj układ współrzędnych.
  4. Twój nowy punkt Warstwa zdarzenia powinna pojawić się w spisie treści. Kliknij go prawym przyciskiem myszy i wybierz Data->, Export data...aby trwale zapisać warstwę jako plik kształtu.

Dziękuję za tę odpowiedź. To jasna metoda, którą mogę od razu wypróbować. Jestem w stanie pracować z wynikami, aby uzyskać to, czego potrzebuję.
cwb

Warto wspomnieć, że to rozwiązanie działa dla użytkowników posiadających licencję ArcInfo (zaawansowaną).
Hornbydd,

6

ArcGIS 9.3.x:

W interfejsie ArcGIS użyj środowiska przyciągania na pasku narzędzi Edycja.

Programowo można znaleźć wiele przykładów Visual Basic opartych na przyciąganiu na stronie zasobów ESRI (uwaga: osobiście lubię korzystać ze starej strony . Myślę, że łatwiej jest znaleźć rzeczy. Zasoby VB ). Zobacz na przykład kod VB do „przyciągania zbiorczego” : „Polecenie Przyciąganie luzem weźmie wybrane funkcje i spróbuje przyciągnąć je na podstawie bieżących ustawień środowiska przyciągania Edytora”.

ArcGIS 10:


1

Możesz to zrobić za pomocą Hawths Analysis Tool. Możesz go pobrać tutaj .

Znalazłem go tutaj dla ArcGis 9.3, ale ostrzegam, że go nie testowałem. Jeśli masz czas, możesz spróbować.


Mam go, ale nie może współpracować z ArcGIS 9.3.

Usunąłem twoją drugą odpowiedź i połączyłem ją w tę.
fmark

0

Założenie masz Network Analysis Extension dla ArcGIS (9,3) z dodatkiem SP3: Twój 'sieci'

Tworzenie sieci> Arcatalog (musisz zrozumieć TYP sieci, którą próbujesz zbudować jako pierwszy!) Http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Creating_a_network_dataset

Możesz to zautomatyzować za pomocą ModelBuilder (Python)

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Add_Locations_(Network_Analyst )

{jednostka liniowa}
Tolerancja wyszukiwania dla lokalizacji funkcji wejściowych w sieci. Ten parametr zawiera wartość i jednostki tolerancji.

{source {snap type}; source {snap type} ...} punkt i linia Umożliwia określenie, które źródła w sieciowym zestawie danych będą wyszukiwane podczas wyszukiwania lokalizacji , a także określenie, które części geometrii zostaną użyte.


0

Istnieje wiele narzędzi dostępnych na Arcscripts. Zobacz to wyszukiwanie

Nie mogę za to ręczyć, ale program Snap and split wygląda tak, jakby spełniał Twoje wymagania?

Daj mi znać, jeśli masz problemy z „instalowaniem” go lub używaniem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.