Jeg lager en modell som må sikre at alle inngangssettene havner i det samme koordinatsystemet (blant annet). Jeg skulle opprinnelig gruppeprosjektere alle datasettene om de måtte projiseres eller ikke, men så er det spørsmålet om å tildele riktig geografisk transformasjon. Da husket jeg at alle data som er lagt inn i et funksjonsdatasett må være det samme koordinatsystemet, så jeg bestemte meg for å sette alle dataene i ett.

Spørsmålet mitt er: Når en funksjonsklasse importeres til et funksjonsdatasett som er av et annet koordinatsystem, projiserer den automatisk data? Hva skjer?

Jeg testet dette selv på veidata, og det så ut til å projisere dataene, da de stilte seg fint sammen med de andre dataene mine. Saken er at ingen transformasjon var nødvendig (og en transformasjonsmetode var nødvendig hvis jeg hadde projisert det), så det virker fishy at dataene bare projiseres automatisk. Kanskje det gir et best gjetning?

Svar

Fra hjelpen på Om import av funksjonsklasser :

Anta du vil importere en funksjonsklasse som er i et annet koordinatsystem. Det kan for eksempel være lurt å importere en funksjonsklasse som bruker koordinatsystemet North American Datum (NAD) 1927 til et funksjonsdatasett som bruker koordinatsystemet NAD 1983. For å importere funksjonsklassen, bruk prosjektverktøyet til å importere dataene samtidig og konvertere dem til det nye koordinatsystemet.

Hvis funksjonsklassen du importerer allerede finnes i koordinatsystemet, vil du at den skal være for geodatabasen, bruk Funksjonsklasse til Funksjonsklasse eller Funksjonsklasse til Geodatabaseverktøy for å importere dataene. Funksjonsklassen du oppretter med disse verktøyene, kan være frittstående eller importere til et eksisterende funksjonsdatasett.

Når du lag en frittstående funksjonsklasse, den nye funksjonsklassen er opprettet med samme romlige referanse som funksjonsklassen du importerer.

Hvis du » Når du oppretter en funksjonsklasse i et eksisterende funksjonsdatasett, vil den nye funksjonsklassen automatisk ta den samme romlige referansen som funksjonsdatasettet.

Så dette antyder at det gjør et " beste gjetning ". Jeg vil på det sterkeste anbefale spesifisere projeksjonstransformasjonsmetoden manuelt hvis du vil unngå projiseringsfeil. Se " Shiftens hevn " for en utmerket oversikt over feilene introdusert av feil projeksjonstransformasjoner!

Svar

Når FeatureClass blir importert til et FeatureDataset blir det projisert til koordinatsystemet fordi alle FeatureClasses i et FeatureDataset må ha samme romlige referanse.

Hvis du er nysgjerrig på den nøyaktige prosessen når det gjelder kode, tar Import-prosessen ISpatialReference-objektet fra Destination FeatureDataset, og når det løkker gjennom hver eneste geometri i kilden FeatureClass, kaller den IGeometry :: Project og sender det ISpatialReference-objektet som parameter.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *