Reklama: Wysokie zyski z Twojej strony www , DOŁĄCZ DO NAS

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Andrzej Horbacz specjalista ds. GIS

Temat: Generacja GUID w ArcGIS

Witam,

potrzebuję dodać do kilkunastu plików shp (ze znaczą ilością obiektów) kolumnę, w której zostałyby wygenerowane GUID'y. Może ktoś się orientuje czy i w jaki sposób mozna zrobić to w ArcGIS?

pozdrawiam
10.07.2009, 14:33

Jarosław Łęski co zostało
zobaczone już się
nie odzobaczy

Temat: Generacja GUID w ArcGIS

najprostszym rozwiązaniem wydaje się być dodanie autonumerującej kolumny w accessie... a innym pewnie skrypt w VBA który Ci będzie numerował pola w kolumnie.

może to Ci pomoże:
http://forums.asp.net/t/1358037.aspx

lub kalkulator pól do arcGISa:
http://gis-net.pl/modules/wfsection/article.php?articl...Jarosław Łęski edytował(a) ten post dnia 10.07.09 o godzinie 17:41
10.07.2009, 17:34

Temat: Generacja GUID w ArcGIS

W ArcCatalogu możesz dodać GUIDy do warstw - w menu kontekstowym jest opcja "Add Global IDs", są też funkcje z linii poleceń i skryptów:
http://tnij.org/guidy

Mała uwaga - dodawanie GUIDów jest możliwe tylko dla danych w geobazie (osobistej i plikowej także) więc musiałbyś swoje dane wpierw tam załadować.Krzysztof Lemańczyk edytował(a) ten post dnia 10.07.09 o godzinie 18:14
10.07.2009, 18:12

Andrzej Horbacz specjalista ds. GIS

Temat: Generacja GUID w ArcGIS

stworzylem geobaze i probowalem skorzystac z narzedzia "Add Global IDs", lecz podczas wykonywania polecenia wyrzucany jest komunikat "The workspace is not supported." Probowalem definiowac workspace i nadal to samo. Bede wdzieczny za podpowiedz
13.07.2009, 10:05

Temat: Generacja GUID w ArcGIS

A możesz edytować te dane w geobazie? Jeśli to geobaza plikowa/osobista to sprawdź, czy dostęp do danych nie jest zablokowany przez inny watek/program.
14.07.2009, 09:42

Andrzej Horbacz specjalista ds. GIS

Temat: Generacja GUID w ArcGIS

Krzysztof Lemańczyk:
A możesz edytować te dane w geobazie? Jeśli to geobaza plikowa/osobista to sprawdź, czy dostęp do danych nie jest zablokowany przez inny watek/program.

Można bez problemu edytowac, wiec powinno byc ok, a tu klops :/ z linii polecen tez to samo. Pomocy ;)
15.07.2009, 08:33

Temat: Generacja GUID w ArcGIS

To inaczej - nowa pusta geobaza, w niej nowa pusta warstwa, narysuj coś w niej w ArcMap, zakończ edycję, i w ArcCatalog spróbuj dodać GUID.
W moim przypadku działa za każdym razem (i na nowych danych, i na istniejących) - pojawia się nowa kolumna GlobalID wypełniona unikalnymi identyfikatorami.

Ps. Piszę o 9.3.
15.07.2009, 09:10

Andrzej Horbacz specjalista ds. GIS

Temat: Generacja GUID w ArcGIS

Witam ponownie

zrobilem, jak podpowiedziales, lecz przy AddGlobalIDs nadal wyrzuca komunikat "The workspace is not supported.
Failed to execute." Nie mam pojecia co jest grane. Moja wersja to 9.2
31.07.2009, 08:39

Jarosław Łęski co zostało
zobaczone już się
nie odzobaczy

Temat: Generacja GUID w ArcGIS

Ja bym mimo wszystko spróbował zrobić to w accessie dodając w widoku projektu poszczególnych tabel pole typu "autonumerowanie" a rozmiar pola "identyfikator replikacji"
31.07.2009, 10:35

Andrzej Horbacz specjalista ds. GIS

Temat: Generacja GUID w ArcGIS

Jarosław Łęski:
Ja bym mimo wszystko spróbował zrobić to w accessie dodając w widoku projektu poszczególnych tabel pole typu "autonumerowanie" a rozmiar pola "identyfikator replikacji"

ale czy w accesie to powrzuca GUIDy w odpowiedniej postacji (36 czy tam 38 znakow), czy po prostu wrzuci autonumeracje?
31.07.2009, 11:42

Jarosław Łęski co zostało
zobaczone już się
nie odzobaczy

Temat: Generacja GUID w ArcGIS

To nie jest zwykłe autonumerowanie - tak wygląda to dla trzech pierwszych przykładowych rekordów:

1. {6895E454-1932-4675-A9EE-090DB1920D9D}
2. {DCE09AB8-870E-477C-9843-FC273961A95E}
3. {FE6C82CE-AE0C-4740-A934-197E95C544A8}

Musisz pamiętać żeby dla typu danych pola Autonumerowanie zmienić rozmiar pola z "liczba całkowita długa" na "Identyfikator replikacji"
31.07.2009, 16:10

Marcin K. Specjalista GIS,
Państwowy Instytut
Geologiczny

Temat: Generacja GUID w ArcGIS

Stare, ale może komuś się przyda. Dobra stronka do GUIDów. W arcu jest typ danych guid (dla geobaz).
15.01.2012, 02:08

Jarosław Sadowski mgr inż. ochrony
środowiska,
specjalista GIS,
national Na...

Temat: Generacja GUID w ArcGIS

Ja korzystam ze skryptu do excela. Generujesz tyle guidów ile dusza zapragnie przez proste ctrl+c ctrl+v (oczywiście dla całego zakresu komórek). Następnie przyklejasz do wczesniej stworzonego pola tekstowego (38 znaków) tabeli shp w np. openoffice i po problemie. Ograniczeniem tu jest 65tys wierszy, bo tyle otwiera calc w przypadku dbf...Jarosław Sadowski edytował(a) ten post dnia 16.01.12 o godzinie 10:26
16.01.2012, 10:24

Marcin K. Specjalista GIS,
Państwowy Instytut
Geologiczny

Temat: Generacja GUID w ArcGIS

No i jeszcze trzeba sobie wsadzić guida w klamerki {} ;-)
17.01.2012, 09:48

Jarosław Sadowski mgr inż. ochrony
środowiska,
specjalista GIS,
national Na...

Temat: Generacja GUID w ArcGIS

Nie trzeba, sam się wsadza (generuje się już pomiędzy {}) ;P

To kod MVB do wprowadzenia w Excelu:

'Written: October 12, 2009
'Author: Leith Ross
'Summary: Function creates a GUID (aka CLSID) and returns it as a string.

Private Type GUID
Data1 As Long
Data2 As Long
Data3 As Long
Data4(8) As Byte
End Type

Private Declare Function CoCreateGuid _
Lib "ole32.dll" _
(ByRef pGUID As GUID) As Long

Private Declare Function StringFromGUID2 _
Lib "ole32.dll" _
(ByRef rGUID As Any, _
ByVal lpstrCLSID As Long, _
ByVal cbMax As Long) As Long

Function CreateGUID() As String

Dim b() As Byte
Dim BuffSize As Long
Dim RetVal As Long
Dim MyGUID As GUID

BuffSize = 40
ReDim b(BuffSize * 2) As Byte

RetVal = CoCreateGuid(MyGUID)
RetVal = StringFromGUID2(MyGUID, VarPtr(b(0)), BuffSize)
CreateGUID = Left$(b, RetVal - 1)

End Function
17.01.2012, 15:31



Wyślij zaproszenie do