Jeg opretter en model, der skal sikre, at alle inputdatasæt ender i det samme koordinatsystem (blandt andet). Jeg skulle oprindeligt batch-projicere alle datasættene, uanset om de skal projiceres eller ej, men så er der spørgsmålet om at tildele den korrekte geografiske transformation. Så huskede jeg, at alle data, der er input til et funktionsdatasæt, skal være det samme koordinatsystem, så jeg besluttede at sætte alle data i et.

Mit spørgsmål er: Når en funktionsklasse importeres til et funktionsdatasæt, der er af et andet koordinatsystem, projicerer den automatisk data? Hvad sker der?

Jeg testede dette selv på vejdata, og det så ud til at projicere dataene, da de stødte fint sammen med mine andre data. Sagen er, at der ikke var behov for transformation (og en transformationsmetode var nødvendigt, hvis jeg havde projiceret det), så det virker fishy, at dataene bare projiceres automatisk. Måske giver det det bedste gæt?

Svar

Fra hjælp på Om import af funktionsklasser :

Antag du vil importere en funktionsklasse, der er i et andet koordinatsystem. For eksempel vil du måske importere en funktionsklasse, der bruger det nordamerikanske koordinatsystem (NAD) 1927 til et funktionssæt, der bruger koordinatsystemet NAD 1983. For at importere funktionsklassen skal du bruge projektværktøjet til samtidig at importere dataene og konvertere dem til det nye koordinatsystem.

Hvis den funktionsklasse, du importerer, allerede findes i koordinatsystemet, skal du have det i for geodatabasen skal du bruge funktionsklassen til funktionsklassen eller funktionsklassen til geodatabaseværktøjerne til at importere dataene. Funktionsklassen, du opretter med disse værktøjer, kan være enkeltstående eller importere til et eksisterende funktionsdatasæt.

Når du Opret en stand-alone funktionsklasse, den nye funktionsklasse oprettes med den samme rumlige reference som den funktionsklasse, du “importerer.

Hvis du” Når du opretter en funktionsklasse i et eksisterende funktionsdatasæt, får den nye funktionsklasse automatisk den samme geografiske reference som funktionsdatasættet.

Så det antyder, at det gør et " bedste gæt ". Jeg vil kraftigt anbefale angivelse af projektionstransformationsmetoden manuelt, hvis du vil undgå projektionsfejl. Se " Shiftens hævn " for et fremragende overblik over fejlene introduceret af forkerte projektionstransformationer!

Svar

Når FeatureClass bliver importeret til et FeatureDataset, bliver det projiceret til koordinatsystemet fordi alle FeatureClasses inde i et FeatureDataset skal have den samme Spatial Reference.

Hvis du er nysgerrig med hensyn til den nøjagtige proces med hensyn til kode, griber Import-processen ISpatialReference-objektet fra Destination FeatureDataset, og når det løkker gennem hver enkelt geometri i kilden FeatureClass kalder den IGeometry :: Project til den og sender det ISpatialReference-objekt som parameter.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *