Minulla on ominaisuuksien tietojoukko, joka käyttää GCS_WGS_1984: ää maantieteellisenä koordinaatistona. Se sisältää muutaman ominaisuusluokan.
Tämä ominaisuustietojoukko on itse tiedoston geotietokannassa, joka sisältää muutaman lisäominaisuusluokan gdb: n juuressa. Yksi näistä on ”pisteiksi” kutsuttu ominaisuusluokka, joka käyttää myös GCS_WGS_1984: ää koordinaattijärjestelmänä.
Ajattelin, että olisi triviaalia käyttää ArcCatalogia vetämään ominaisuusluokka gdb: n juuresta ominaisuustietojoukko, koska niillä on sama koordinaatisto. Valitettavasti ArcGIS antaa virhevalintaikkunan, joka sanoo:
Failed to paste points The spatial references do not match
Miksi tämä epäonnistuu? Jos ominaisuusluokan ja ominaisuustietojoukon GCS ovat samat, eikö ”vain toimi? Olen varmentanut, että näin on valintaikkunoiden kautta, sekä vienyt sekä tietojoukon että luokan prj-tiedoston ja käyttämällä diff-työkalu näiden kahden vertaamiseksi. Ne ovat identtisiä.
Onko ominaisuusluokan paikkaviite erilainen kuin koordinaattijärjestelmä / projektio?
Yritetään kopioida ominaisuusluokka ominaisuuksien tietojoukkoon pitämällä ctrl-näppäintä samalla kun vedät tuloksia ArcCatalogissa kaatuu joka kerta (häpeä ESRI: lle).
Luulisin, että voisin kokeilla vaihtoehtoisia keinoja ominaisuusluokkien siirtämiseen. Käytä CopyFeatures-tietojoukkoa. Projisoidaan ominaisuusluokasta uuteen ominaisuusluokkaan ominaisuuksien tietojoukossa?
Kommentit
- Voitteko lähettää tiedoston gdb johonkin? Ehkä poista kaikki tai osa ominaisuuksista, jos se on iso, kuulostaa siltä, että se voidaan toistaa jopa tyhjillä esitysluokilla.
- Toivon, että minulla olisi aikaa ajaa alas jokaisesta pienestä omituisuudesta, johon törmän ArcGIS: n kanssa, usein Minun täytyy vain elää sen kanssa ja löytää seuraava vähiten miellyttävä ratkaisu. Käytin tiedonhallintaa – > Kopioi ominaisuus kopioidaksesi uuteen ominaisuusluokkaan (nimeltään temp), poistin vanhan ominaisuusluokan ja nimitin uudeksi ominaisuusluokaksi vastaamaan vanhaa. ArcGIS: n käyttämisen ei pitäisi edellyttää ’ tarvetta tutkinnon ohjelmistojen testauksesta. = (
- ” ei pitäisi ’ vaatia tutkintoa ohjelmistojen testauksessa ” , chat.stackexchange.com/transcript/message/1116371
- se on vain nimi , he sopivat yhteen, mutta jos heillä on eri nimi, se vie tämän viestin pois, jätä se huomiotta.
Vastaa
Sama koordinaattijärjestelmä ei aina ole identtinen koordinaattijärjestelmä. Olen havainnut tilanteita, joissa jotkut toiminnot ja geoprosessointityökalut ajattelevat, että ominaisuusluokilla ei ole yhteistä koordinaatistoa, koska projektion kuvaileva nimi eroaa (”Yukon Albers” vs. ”Albers – custom”), vaikka parametrit ovat samat tai desimaalipaikkojen erojen vuoksi (väärä pohjoinen 500000.00 vs. 500000.0000).
Mitä teen yleensä on varmistaa, että Feature Dataset (ja F.class) -koordinaattijärjestelmät luodaan tavallisen .prj-tiedostomme kanssa, joka sijoitetaan C:\path\to\ArcGIS\Desktop10.0\Coordinate Systems
(tekee CS: n saataville vähemmän napsautuksilla) ja / tai kopioimalla CS pääominaisuusluokan mallista, joka on tallennettu jonnekin aina käsillä.
Osittain vastauksena tähän Minulla on myös tyhjä ominaisuusdatajoukko (D:\s.gdb\_template
), jonka kanavoin kaikki tietomme ensimmäisen vaiheen suodattimena ennen kuin teen mitään muuta heidän kanssaan. Yhteisen koordinaattijärjestelmän joukossa tämä varmistaa myös tarkkuuden ja spatiaalisen toimialueen jne. Identtisyyden.
Päivitys: Katso Andyn vastaus pythonin käytöstä, vain 2 riviä, kopioida Feature Dataset -paikkaviittausjärjestelmä malliominaisuusluokasta. Tämä toimi minulle ArcCatalogissa 10.3, kun vuorovaikutteinen menetelmä SR: n määrittelemiseksi valitsemalla ominaisuusluokka tuoda yksi ei toiminut.
Kommentit
- Ei ’ t nämä pienet muutokset kauniissa painatusnimessä tai mainitsemissasi desimaalipaikoissa esiintyvät .prj-tiedostossa, jotka ’ vietiin Tallenna nimellä -vaihtoehdolla ? Jos näin on, miksi diffing prj -tiedostot eivät näytä mitään? Olin miettinyt, voivatko pienet erot x, y-tarkkuudessa aiheuttaa myös ristiriidan.
- Se voi olla .prj-tiedosto, joka on luotu tiedostolla ” Tallenna nimellä ” ei ole täsmälleen sama kuin sisäisesti tallennettu. Käytän ominaisuusdatajoukkoa ” suodatin ” varmistaakseni yhteisen alueellisen tarkkuuden jne.
- I ’ ll lisätään tähän vielä yksi aspekti: Joskus muista lähteistä tuotetaan tietojoukkoja sisältävän M- ja Z-arvoja, kun niillä ei tosiasiallisesti ole M tai Z.Olen ’ havainnut, että jotkut ESRI-työkalut havaitsevat tyhjän Z-koordinaatiston olevan yhteensopimaton huolimatta siitä, että X / Y-koordinaattijärjestelmät todella sopivat yhteen.
Vastaus
Tämä on pikemminkin selitys kuin vastaus.
Me (Esri) testaamme melko tiukasti koordinaattiviitejärjestelmän nimet ja arvot. ”On sama” -testi ei palauta epäonnistumista verrattaessa 500000.00 ja 500000.000000, mutta saattaa epäonnistua, jos toinen on todella 500000.0 ja toinen 500000.00000005. Työskentelemme nimien aliasten lisäämiseksi, jotta ”on yhtä suuri” kulkee enemmän.
Kuten mindless.panda ja matt wilkie mainitsivat, erot saattavat olla paikkaviittauksen muissa arvoissa. viite sisältää koordinaattien vertailujärjestelmän ja tallennus- / käsittelyarvot. Tallennukseen: xy, z ja mittaa tarkkuus ja laajuudet. Käsittelyyn: xy, z ja mittaa toleranssiarvot. Mikä tahansa näiden ero voi aiheuttaa virheitä, jotka eivät ole yhtä suuria.
Kommentit
- vastaustasi arvostetaan suuresti. Haluaisin todella nähdä virheiden käsittelyn, erityisesti käyttäjälle ilmoitetuissa asioissa, parantavan ArcGIS: ää. Lisää Tarvitaan informatiivisia virheitä, ja mahdollisuus saada vielä yksityiskohtaisempia tietoja haluttaessa. Kiitän jälleen ESRI: tä vastauksen viettämisestä.
- Kannatan ehdotusta antaa lisätietoja virheistä. kahden viime viikon aikana olen saanut saman virheen (
Error code: 999999: Error executing function. Description: This is a generic error for which the cause of the error does not have an appropriate error ID.
) useiden ongelmien takia. Tämä on vihainen viesti vastaanotettavaksi, koska en voi tehdä mitään muuta kuin yrittää suorittaa toisen kerran tekemäni toimet nähdäksesi, toistuiko virhe, tai luopua ja käyttää toista menetelmää (tai ohjelmistoa, joka tapahtuu yhä useammin).
Vastaus
Tässä olen mitä tein ongelman ratkaisemiseksi (ArcPY: n käyttö ArcGIS 10.0: ssa) –
Tämä edellyttää seuraavaa:
- FGDB – C: \ gisdata \ Test.gdb
- Ominaisuusluokka – C: \ gisdata \ Test.gdb \ bldg
Voit muokata polkuja ja objektinimiä koodissa ja liittää sen python-ikkunaan ArcCatalogissa.
sr = arcpy.Describe(r"C:\gisdata\Test.gdb\bldg").spatialReference arcpy.CreateFeatureDataset_management(r"C:\gisdata\Test.gdb", "MyFeatureDataset", sr)
Ominaisuuden tietojoukon jälkeen on luotu, voit vetää ja pudottaa ominaisuusluokat sisään.
Kommentit
- Kiitos! Tämä toimi minulle tänään tilanteessa, jossa interaktiivisen työkalun käyttäminen uuden ominaisuuden tietojoukon koordinaattijärjestelmän määrittelemiseen olemassa olevan ominaisuusluokan valitsemisella ei toiminut (versio 10.3).
Vastaa
Tämä ongelma tappoi minut! Tallentanut joukon ominaisuusluokkia CAD-tiedostosta, yritin useita kertoja määritellä niiden koordinaattijärjestelmät ja sitten järjestää ne ominaisuustietoiksi. Yritin sekä määritellä kaikki tarvittavat f.luokat että f.tietojoukot virallisesta WGS_1984_UTM_42N-projektiosta ESRI: ltä, samoin kuin asettaa projisointi tietojoukolle ja sitten tuoda kyseisen projektion f.luokille käyttämällä Määritä projektio -työkalua. Joko f.luokkia ei liittyisi, tai 1 ja muut eivät.
Paljon kiitoksia @Matt Wilkielle tässä viestissä , Feature Class to Feature Class -työkalu näyttää ratkaisevan ongelman. Se tuo f.classes onnistuneesti haluttuun tietojoukkoon, vaikka en ole vielä määrittänyt kyseisen f.luokan koordinaatistoa.
Lisäksi huomasin, että Ominaisuusluokka geotietokantaan (useita) -skripti toimii erinomaisesti f.luokkien siirtämiseksi f.tietojoukkoon kerralla, paitsi että tämä on tehtävä geotietokannasta toiseen ( ei f.datasetiin samassa geotietokannassa). Tämä näyttää johtuvan siitä, että komentosarja ei nimetä f.luokkia automaattisesti, kun ne kopioidaan (tai pyydä operaattorilta uutta nimeä, kuten Ominaisuusluokasta Ominaisuusluokkaan). Kuitenkin, kuten muut huomauttavat (sama säie linkitetty yllä), annettu virhe on yleinen 999999.
Vastaus
I oli tämä ongelma, kun halusit yksinkertaisesti siirtää ominaisuusluokan ominaisuustietojoukkoon GeoDatabase-sovelluksessa. Tein Feature Dataset ja varmistin, että sillä on sama koordinaattijärjestelmä. Uudestaan ja uudestaan sain ”Liittäminen epäonnistui xyz – paikkaviitteet eivät täsmää” Nopein työ, jonka löysin, oli tuoda identtinen paikkaviite äskettäin luodussa aineistossani haluamastani ominaisuusluokasta tuoda siihen. Ohjatun ”Luo uusi ominaisuusdatasetti” -toiminnon toisessa vaiheessa.
En tiedä miksi paikkaviitteet eroavat toisistaan.
Kommentit
- Hei, @Alan! Kiitos kokemuksen jakamisesta ja tervetuloa sivustollemme.
- Hei Alan, uuden ominaisuuden tietojoukon / luokan ohjattu toiminto ei ole ’ t vetää aina kaikki tallennus- / käsittelyarvot käytettäessä ” tuontikoordinaattijärjestelmää ”.’ työskentelemme sen korjaamiseksi. Mielestäni tämä on se, mihin ’ törmäät.
- Olen ’ m nähdessäni tämän ongelman – vaikka luo Ominaisuuksien tietojoukko ja käytän tuontimekanismia ja valitsen ominaisuusluokan, en silti voi ’ vetää / kopioida ominaisuusluokkaa uuteen Ominaisuuksien tietojoukkoon ilman edellä mainittua virhettä.
Answer
Mielestäni yksi ESRI: n viesteistä on antaa tarkempi parametri erojen virheenkorjaustiedot, kun tämä virhe tapahtuu. Minäkin olen havainnut tämän virheen huolimatta siitä, että olen tarkasti hallinnoinut paikkatietojärjestelmiä ja projektioita, kuten mielestäni useimmat GIS-käyttäjät tekevät.
Olen löytänyt menettelytavan käyttää ArcToolbox-kopiointitoimintoja virheilmoitusten korjaamiseen, kun käytetään tuonti- tai kopiointimekanismeja. Täällä olemme riippuvaisia Kopioi ominaisuudet -työkalulaatikosta, jotta voimme ratkaista viite- tai projektioerot oikein ennen ominaisuusluokan lisäämistä ominaisuusdatasarjaan.
Olen jopa yrittänyt luoda ominaisuusjoukon projisointijärjestelmällä, joka on määritelty tietojoukon luomisaika ja sitten projisoimalla ominaisuusluokat ominaisuustietojoukkoon käyttämällä ArcToolbox-projektiotyökalua samalla projektiolla, ja sain silti tässä kuvatun virheen, kun yritän tuoda tai kopioida ominaisuusluokkaa tietojoukkoon.
Nämä koordinaattijärjestelmän ongelmat peitetään, kun käytät tietoja ArcMapissa. Koska ArcMap suorittaa projektio lennossa, ArcMap-karttaan voidaan lisätä useita ominaisuusluokkia, joista jokaisella on erilainen projektio ilman käyttäjän tietoisuutta. ArcMap varoittaa erilaisista koordinaattijärjestelmistä.
Vastaa
Vastaus
vastaus
Oletko yrittänyt tuoda sen ArcMapiin ja asettaa kerrokset GCS_WGS_1984-tiedostoksi ja viedä sitten kaikki kerroksesi tiedostojen geotietokantaan?
Jos sinulla on yksi tai useampi taso, jotka ovat eri projektiossa, voit viedä ne, mutta vaihtaa datakehyksen muotoon GCS_WGS_1984?
En ole varma ArcGIS 10: ssä minulla ei vielä ole niitä, mutta käytän 9.3.1-versiota.
Kommentit
- Voisitteko selventää kohtia 1 ja 2? Nämä eivät näytä olevan tarkkoja.