Več

QGIS 2.4.0 ne podpira več vrst geometrije v datoteki GML


Testiram podatke GML 3.2.1 v skladu s specifikacijo INSPIRE Data (različica 3.0). Podatki za katastrske parcele teme morajo imeti geometrijo poligona in opredelitveno točko. Ko prenesem podatke iz svoje storitve WFS v QGIS 2.4.0, se samodejno upodobijo kot točke. Navajen sem na to. V starejših različicah GIS -a sem moral samo prepisati atribut geometryType z 1 na 3 v samodejno ustvarjeno datoteko .gfs. Ja, malo je zapleteno, vendar je delovalo.

V QGIS 2.4.0 ne deluje. Po prepisu datoteke .gfs sploh nisem dobil geometrije. Če želim dobiti poligone, moram prenesti podatke GML in izbrisati vse elemente referencePoint. Moje vprašanje je torej: ali ima kdo kakšno idejo, kako si predstavljati podatke GML z geometrijo točk in poligonov kot poligon v QGIS?

To vprašanje bi lahko raje postavili razvijalcem QGIS, vendar sprva poskušam obstoječe rešitve.


Za vizualizacijo kompleksne funkcije GML v QGIS boste morali počakati na QGIS 3.0 (ali 2,99, če ne morete čakati) in vtičnik QGIS GML Application Schema Toolbox Toolbox.


Malo pozno, vendar se mi zdi najbolj primeren način za to z Geopandami, kot je predlagano zgoraj, vendar brez predhodnega pisanja v datoteko.

Če so vaši podatki v datoteki .shp, priporočam geopande:

Morda je to pretirano, toda kot alternativo drugim dobrim komentarjem bi dodal možnost namestitve QGIS - brezplačne programske opreme za delo z geometrijami. Vse kar morate storiti je, da svoje geometrije shranite kot datoteko oblike (.shp), geoJSON ali katero koli drugo obliko in jo odprete s QGIS. Če načrtujete velik projekt, je na koncu morda bolj priročno kot uporaba matplotliba.


4.2. Uporaba standardov OpenGIS

OpenGIS "Enostavne specifikacije funkcij za SQL" opredeljuje standardne vrste objektov GIS, funkcije, potrebne za njihovo upravljanje, in niz tabel metapodatkov. Da bi zagotovili, da metapodatki ostanejo dosledni, se operacije, kot sta ustvarjanje in odstranjevanje prostorskega stolpca, izvajajo s posebnimi postopki, ki jih določi OpenGIS.

Obstajata dve tabeli metapodatkov OpenGIS: SPATIAL_REF_SYS in GEOMETRY_COLUMNS. Tabela SPATIAL_REF_SYS vsebuje številske ID -je in besedilne opise koordinatnih sistemov, ki se uporabljajo v prostorski bazi podatkov.

4.2.1. Tablični in prostorski referenčni sistemi SPATIAL_REF_SYS

Tabela spatial_ref_sys je vključena PostGIS in OGC skladna tabela podatkovnih baz, ki navaja več kot 3000 znanih prostorskih referenčnih sistemov in podrobnosti, potrebne za preoblikovanje/reprojektiranje med njimi.

Čeprav tabela PostGIS spatial_ref_sys vsebuje več kot 3000 najpogosteje uporabljenih definicij prostorskega referenčnega sistema, ki jih lahko obravnava knjižnica proj, ne vsebuje vseh človeku znanih in lahko celo definirate svojo projekcijo po meri, če poznate konstrukte proj4 . Upoštevajte, da je večina prostorskih referenčnih sistemov regionalnih in nimajo pomena, če se uporabljajo zunaj meja, za katere so bili namenjeni.

Odličen vir za iskanje prostorskih referenčnih sistemov, ki niso opredeljeni v osnovnem nizu, je http://spatialreference.org/

Nekateri najpogosteje uporabljeni prostorski referenčni sistemi so: 4326 - WGS 84 Long Lat, 4269 - NAD 83 Long Lat, 3395 - WGS 84 World Mercator, 2163 - National Atlas Equal Area, prostorski referenčni sistemi za vsak NAD 83, WGS 84 Območje UTM - območja UTM so ena najbolj idealnih za merjenje, pokrivajo pa le 6 -stopinjske regije.

Različni prostorski referenčni sistemi na državni ravni ZDA (na podlagi metrov ali čevljev) - običajno na državo ZDA obstajata eden ali dva. Večina merilnikov je v jedrnem kompletu, mnoge od tistih, ki temeljijo na nogah ali pa jih je ustvaril ESRI, boste morali potegniti s spletnega mesta spatialreference.org.

Za podrobnosti o določitvi območja UTM, ki ga želite uporabiti za svoje področje, si oglejte pomožno funkcijo utmzone PostGIS plpgsql.

Definicija tabele SPATIAL_REF_SYS je naslednja:

Stolpci SPATIAL_REF_SYS so naslednji:

Celotna vrednost, ki enolično identificira prostorski referenčni sistem (SRS) v bazi podatkov.

Ime standarda ali organa za standarde, ki se navaja za ta referenčni sistem. Na primer »EPSG« bi bil veljaven AUTH_NAME.

ID prostorskega referenčnega sistema, kot ga je določil organ, naveden v AUTH_NAME. V primeru EPSG bi tu šla projekcijska koda EPSG.

Dobro znana besedilna predstavitev prostorskega referenčnega sistema. Primer predstavitve WKT SRS je:

Za seznam projekcijskih kod EPSG in njihovih ustreznih predstavitev WKT glejte http://www.opengeospatial.org/. Za razpravo o WKT na splošno glejte OpenGIS "Specifikacijo izvajanja usklajenih storitev preoblikovanja" na http://www.opengeospatial.org/standards. Za informacije o Evropski skupini za raziskovanje nafte (EPSG) in njihovi bazi prostorskih referenčnih sistemov glejte http://www.epsg.org.

PostGIS uporablja knjižnico Proj4 za zagotavljanje zmogljivosti koordinatne transformacije. Stolpec PROJ4TEXT vsebuje niz definicij koordinat Proj4 za določen SRID. Na primer:

Za več informacij obiščite spletno stran Proj4 na naslovu http://trac.osgeo.org/proj/. Datoteka spatial_ref_sys.sql vsebuje definicije SRTEXT in PROJ4TEXT za vse projekcije EPSG.

4.2.2. Tabela GEOMETRY_COLUMNS

Definicija tabele GEOMETRY_COLUMNS je naslednja:

Stolpci so naslednji:

Popolno ime tabele funkcij, ki vsebuje stolpec geometrije. Upoštevajte, da sta izraza "katalog" in "shema" oracle-ish. Ni analognega "kataloga" PostgreSQL, zato ta stolpec ostane prazen - za "shemo" se uporablja ime sheme PostgreSQL (privzeto je javno).

Ime stolpca geometrije v tabeli funkcij.

Prostorska dimenzija (2, 3 ali 4 dimenzije) stolpca.

ID prostorskega referenčnega sistema, uporabljenega za koordinatno geometrijo v tej tabeli. To je sklic tujega ključa na SPATIAL_REF_SYS.

Vrsta prostorskega objekta. Omejiti prostorsko stolpec z istim tipom, uporaba eden: TOČKE, LINESTRING, POLYGON, večtočkovni, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION ali ustrezne različice XYM POINTM, LINESTRINGM, POLYGONM, MULTIPOINTM, MULTILINESTRINGM, MULTIPOLYGONM, GEOMETRYCOLLECTIONM. Za heterogene zbirke (mešanega tipa) lahko kot tip uporabite "GEOMETRY".

Ta atribut (verjetno) ni del specifikacije OpenGIS, vendar je potreben za zagotovitev homogenosti tipa.

4.2.3 Ustvarjanje prostorske tabele

Ustvarjanje tabele s prostorskimi podatki poteka v dveh fazah:

Ustvarite običajno tabelo, ki ni prostorska.

Na primer: Ustvari tabelo ROADS_GEOM (ID int4, NAME varchar (25))

Dodajte prostorski stolpec v tabelo s funkcijo OpenGIS "AddGeometryColumn".

Primer 1: SELECT AddGeometryColumn ('public', 'roads_geom', 'geom', 423, 'LINESTRING', 2)

Primer 2: SELECT AddGeometryColumn ('roads_geom', 'geom', 423, 'LINESTRING', 2)

Tu je primer SQL, uporabljenega za ustvarjanje tabele in dodajanje prostorskega stolpca (ob predpostavki, da SRID 128 že obstaja):

Tu je še en primer uporabe generične vrste "geometrija" in nedefinirane vrednosti SRID -1:

4.2.4. Ročno registriranje geometrijskih stolpcev v stolpcih geometrije

Pristop AddGeometryColumn () ustvari stolpec geometrije in tudi registrira nov stolpec v tabeli geometry_columns. Če vaša programska oprema uporablja geometry_columns, morajo biti v tej tabeli registrirani vsi stolpci geometrije, po katerih morate poizvedovati. Dva primera, ko želite, da je stolpec geometrije registriran v tabeli geometry_columns, vendar ne morete uporabiti AddGeometryColumn, sta v primeru pogledov SQL in množičnih vložkov. V teh primerih morate ročno registrirati stolpec v tabeli geometry_columns. Spodaj je preprost skript za to.

4.2.5 Zagotavljanje skladnosti geometrije z OpenGIS

PostGIS je skladen s specifikacijami OpenGIS Open Geospatial Consortium ’s (OGC). Mnoge metode PostGIS tako zahtevajo ali natančneje predvidevajo, da so geometrije, ki jih operiramo, preproste in veljavne. na primer, ni smiselno izračunati površine poligona, ki ima luknjo, opredeljeno zunaj poligona, ali zgraditi poligon iz enostavne mejne črte.

V skladu s specifikacijami OGC a preprosto geometrija je tista, ki nima nenormalnih geometrijskih točk, na primer samopreseka ali samopretivnosti, in se nanaša predvsem na 0 ali 1-dimenzionalne geometrije (t.j. [MULTI] TOČKA, [MULTI] LINESTRING). Veljavnost geometrije se na drugi strani nanaša predvsem na dvodimenzionalne geometrije (t.j. [MULTI] POLIGON) in opredeljuje niz trditev, ki označujejo veljaven poligon. Opis vsakega geometrijskega razreda vključuje posebne pogoje, ki dodatno podrobno opisujejo geometrijsko preprostost in veljavnost.

TOČKA je dedna preprosto kot 0-dimenzionalni objekt geometrije.

MULTIPOINT so preprosto če dve koordinati (POINT s) nista enaki (imata enake vrednosti koordinat).

LINESTRING je preprosto če dvakrat ne preide skozi isto točko (razen končnih točk, v tem primeru se imenuje linearni obroč in se dodatno šteje za zaprto).

(a) in (c) so preproste LINESTRING -ove, (b) in (d) niso.

MULTININESTRING je preprosto le če so vsi njeni elementi preprosti in se edino presečišče med katerima koli dvema elementoma pojavi v točkah, ki so na mejah obeh elementov.

(e) in (f) so enostavni MULTILINESTRING, (g) ni.

Po definiciji je POLIGON vedno preprosto . je veljaven če se na meji ne križata dva obroča (sestavljena iz zunanjega in notranjega obroča). Meja POLIGONA se lahko seka v TOČKI, vendar le kot tangenta (torej ne na premici). POLYGON morda nima prerezanih linij ali konic, notranji obroči pa morajo biti v celoti v zunanjem obroču.

(h) in (jaz) veljajo POLYGON -i, (j-m) ni mogoče predstaviti kot enojni POLYGON -i, vendar (j) in (m) lahko predstavimo kot veljaven MULTIPOLYGON.

MULTIPOLIGON je veljaven če in samo, če so vsi njeni elementi veljavni in se notranjost dveh elementov ne seka. Meje poljubnih dveh elementov se lahko dotikajo, vendar le pri končnem številu TOČK.

(n) in (o) ne veljajo MULTIPOLYGON s.

Večina funkcij, ki jih izvaja knjižnica GEOS, temelji na predpostavki, da so vaše geometrije veljavne, kot jih določa specifikacija enostavnih lastnosti OpenGIS. Če želite preveriti preprostost ali veljavnost geometrij, lahko uporabite ST_IsSimple () in ST_IsValid ()

PostGIS privzeto ne uporablja tega preverjanja veljavnosti pri vnosu geometrije, ker testiranje veljavnosti zahteva veliko časa procesorja za zapletene geometrije, zlasti poligone. Če svojim virom podatkov ne zaupate, lahko takšno preverjanje v tabelah ročno uveljavite tako, da dodate omejitev preverjanja:

Če naletite na kakšno nenavadno sporočilo o napaki, na primer "GEOS Intersection () je prišlo do napake!" ali "JTS Intersection () je prišlo do napake!" pri klicanju funkcij PostGIS z veljavnimi vhodnimi geometrijami ste verjetno našli napako bodisi v PostGIS -u bodisi v eni od knjižnic, ki jih uporablja, zato se obrnite na razvijalce PostGIS -a. Enako velja, če funkcija PostGIS vrne neveljavno geometrijo za veljaven vnos.

Strogo skladne geometrije OGC ne morejo imeti vrednosti Z ali M. Funkcija ST_IsValid () ne upošteva neveljavnih geometrij z višjo dimenzijo! Pozivi AddGeometryColumn () bodo dodali omejitev za preverjanje geometrije, zato je dovolj, da tam navedete 2.


Za pripis vrednosti kot posameznih zapisov lahko uporabite implicitne zanke DO. Primerjajte naslednja dva primera:

Z implicitnimi zankami DO se lahko prepiše kot:

Če število elementov med prevajanjem ni določeno, lahko uporabite razširitev & ltn & gt (gfortran ne podpira):

Število ponovitev deskriptorja (2I4) za urejanje vzame iz vrednosti spremenljivke n. V GNU Fortran lahko najprej ustvarite ustrezen deskriptor urejanja z uporabo notranjih datotek:

Seveda deluje tudi s seznamom usmerjenim izhodom (to je izhod v formatu *):

To je res odvisno od tega, katere podatke poskušate zapisati v datoteko (tj. Ali imate skalar v zanki ali matriki.) Ali lahko v svoje vprašanje vključite opis tega?

Če poskušate večkrat zapisati skalar v isto vrstico, poskusite uporabiti ne-napredujoči V/I, posredovanje argumenta ključne besede advance = "no" v stavek write, npr.

Vendar pa se zavedajte presenečenja z nepredvidljivim V/I.

Odgovor je odvisen od vašega odgovora na Chrisovo vprašanje. Če želite eno vrstico, boste morali uporabiti ne-napredujoč IO, kot je opisal Chris. Brez tega boste z več oblikovanim zapisom zapisa vedno dobili več vrstic.

Prav tako boste verjetno morali uporabiti oblikovan IO namesto IO, usmerjenega na seznam (*). Pravila za IO, usmerjena na seznam, so ohlapna. Različni prevajalniki lahko proizvajajo različne rezultate. Pri številnih izhodnih postavkah prelomi vrstic verjetno ne bodo predolgi.


29 odgovori 29

Datoteka | Razveljavi predpomnilnike. in ponovni zagon PyCharma pomaga.

Dmitrijev odgovor mi ni uspel.

Svoje sem začel delati tako, da sem obiskal projektne tolmače, izbral zavihek "Poti" in pritisnil gumb za osvežitev v tem podmeniju. Samodejno se naseli z nečim, kar se imenuje "okostje pitona".

Uredi: posnetek zaslona z uporabo PyCharm 3.4.1 (precej dobro skrit)

Za to obstaja veliko rešitev, nekatere so bolj priročne od drugih in ne delujejo vedno.

Tukaj je vse, kar lahko poskusite, od "hitrega" do "nadležnega":

  • Do File -& gt Invalidate Caches / Restart and restart PyCharm.
    • Če želite biti prepričani, bi to lahko storili tudi po kateri koli od spodnjih metod.
    • Datoteka -& gt Nastavitve
    • Projekt: [ime] -& gt Projektni tolmač -& gt 'Tolmač projekta': ikona orodja -& gt Več.
    • Kliknite gumb »Pokaži poti« (spodaj)
    • Kliknite gumb »Osveži« (spodaj)
    • Datoteka -& gt Nastavitve
    • Projekt: [ime] -& gt Projektni tolmač -& gt 'Tolmač projekta': ikona orodja -& gt Več.
    • Kliknite gumb »Odstrani«
    • Kliknite gumb »Dodaj« in znova dodajte interpeter
    • Izbrišite mapo .idea vašega projekta
    • Zaprite in znova odprite PyCharm
    • Odprite svoj projekt od začetka

    Če uporabljate Docker, upoštevajte:

    • Prepričajte se, da uporabljate pip3, ne pip, zlasti z oddaljenimi tolmači docker in docker-compose.
    • Izogibajte se vplivanju na PYTHONPATH. Več informacij tukaj: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000058690-Module-not-found-in-PyCharm-but-externally-in-Python.

    V mojem primeru je bila to struktura imenikov. Moj projekt izgleda takole:

    Torej z desno miškino tipko kliknite dir_b> "označi imenik kot"> "koren projekta"

    Korenski imenik morate označiti kot: SOURCE ROOT (rdeča), vaše aplikacije pa: EXCLUDED ROOT (modra).

    Potem bo nerešena referenca izginila. Če uporabljate PyChram pro, to storite samodejno.

    Odkril sem in znova dodal oddaljenega tolmača, da bi odpravil to težavo, ko neveljavni predpomnilniki ali osveževanje poti ne delujejo.

    Uporabljam potepuh in občasno, če v nastavitev za več vm dodam nov VM, se posredovana vrata spremenijo in zdi se, da to zmede PyCharm, ko poskuša uporabiti napačna vrata za SSH. Zdi se, da spreminjanje vrat ne pomaga zlomljenim referencam.

    Če vam nobena druga rešitev ne pomaga, poskusite (varnostno kopirati) in izbrisati svojo

    /.PyCharm40, nato znova odprite PyCharm. To bo ubilo tudi vse vaše želje.

    V sistemu Mac, ki ga želite izbrisati

    In v sistemu Windows: C: Users $ USER.PyCharm40.

    Preizkušeno s PyCharm 4.0.6 (OSX 10.10.3) po teh korakih:

    1. Kliknite meni PyCharm.
    2. Izberite Projektni tolmač.
    3. Izberite ikono zobnika.
    4. Izberite gumb Več.
    5. Izberite projektni tolmač, v katerem ste.
    6. Izberite gumb Drevo imenikov.
    7. Izberite Ponovno naloži seznam poti.

    Oprostite, ker sem naletel na to vprašanje, vendar moram narediti pomembno posodobitev.

    Morda boste želeli tudi pretvoriti svoj tolmač projekta na Python 2.7.6, če uporabljate katero koli drugo različico, kot je ta. To mi je uspelo pri namestitvi programa PyCharm 4.04 professional Ubuntu, potem ko nobeno od drugih priporočil ni rešilo moje težave.

    Delal zame veliko enostavnejše ukrepanje:

    Dobiček - Pycharm posodablja okostja in vse je v redu.

    Poskusite zapreti Pycharm, izbrisati mapo .idea iz svojega projekta, nato znova zagnati Pycharm in znova ustvariti projekt. To mi je uspelo, medtem ko neveljaven predpomnilnik ni.

    Če želite prezreti le nekatere napake "nerazrešenih referenc", lahko to izrecno poveste tudi PyCharmu, tako da to postavite pred svoj razred/metodo/funkcijo:

    To mi je končno uspelo, potem ko mi nobena od predlaganih rešitev ni uspela. Igral sem se z okvirnim projektom django rest in uporabljal virtualenv, ki sem ga nastavil z njim. Pycharm sem lahko popravil tako, da sem korensko mapo označil kot izvorno korenino, potem pa bi strežnik django vrgel izjeme pri reševanju. Torej bi eden deloval, ko drugi ne bi in obratno.

    Na koncu sem moral samo podmapo označiti kot izvorno korenino v pycharmu. Moja struktura je bila torej takšna

    To drugo mapo na igrišču sem moral označiti kot izvorni izvor, da je vse delovalo po pričakovanjih. To za moj scenarij ni predstavljalo težav, zato je bila izvedljiva rešitev.


    3 METODOLOGIJA

    3.1 Splošna nastavitev referenčne vrednosti GeoBIM

    Referenčno merilo je bilo mišljeno kot način za združevanje znanja mnogih ljudi z različnimi veščinami, ki prihajajo z različnih področij in interesov, da bi opisali sedanjo sposobnost uporabe trenutnih programskih orodij (tj. Branje, vizualizacija, uvoz, upravljanje, analiza , izvoz) modelov CityGML in IFC ter pri tem razumeti njihovo delovanje pri funkcionalnostih upravljanja informacij in možni izgubi informacij. Poleg tega, ker velika velikost takšnih standardiziranih naborov podatkov pogosto povzroča težave pri njihovem upravljanju z računi, je bila zmožnost ravnanja z velikimi nizi podatkov še en del preizkusov.

    • Naloga 1. Kakšna podpora za IFC v programski opremi BIM (in drugi)?
    • Naloga 2. Katere možnosti za georeferenciranje podatkov BIM so na voljo?
    • Naloga 3. Kakšna podpora za CityGML v okviru GIS (in drugih) orodij? 2
    • Naloga 4. Katere možnosti za pretvorbo (programsko in postopkovno) (tako IFC v CityGML kot CityGML v IFC) so na voljo?

    V ta namen je bil na voljo niz reprezentativnih podatkovnih nizov IFC in CityGML (Noardo et al., 2019), ki so jih uporabili zunanji, prostovoljni udeleženci programske opreme, ki bi jo radi preizkusili, da bi preverili podporo v odprtem standardu v njej. (Noardo, Biljecki, et al., 2019).

    Podrobnosti o preizkušeni programski opremi in celoten seznam udeležencev najdete na ustreznih straneh primerjalne spletne strani. 3 Veliko število udeležencev, ravnovesje v spretnostih, delovnih področjih, stopnja zaupanja v preizkušeno programsko opremo (od njih je bilo zahtevano, da jih prijavijo) so ponudili možnost omejitve pristranskosti v rezultatih.

    Udeleženci so opisali vedenje preizkušenih orodij po podrobnih navodilih in rezultate predstavili v skupni predlogi s posebnimi vprašanji, ki so na voljo kot spletni obrazci. Na koncu so predstavili svoja opažanja in modele, ki so bili ponovno izvoženi nazaj v prvotno standardizirano obliko (CityGML ali IFC).

    Da bi pokrili najširši del seznama programske opreme, ki potencialno podpira preiskane standarde, smo testiranje zaključili sami z iskanjem v spletni dokumentaciji standardov in potencialne programske opreme.

    V zadnji fazi projekta je ekipa, ki je koordinirala študijo, analizirala opažanja udeležencev, opise in dostavila dodatno dokumentacijo (posnetke zaslona, ​​datoteke dnevnika, povezane dokumente in spletne strani). Iz tega pregleda je bila izvedena ocena zmogljivosti in funkcionalnosti preizkušenih orodij. Poleg tega so bili dostavljeni modeli potrjeni in analizirani z razpoložljivimi orodji, kadar je to mogoče, in/ali z ročnim pregledom (oddelek 3.3). Ta pristop je omogočil povpraševanje o stopnji interoperabilnosti, ki jo določa standard, in njegovi programski implementaciji s primerjavo rezultatov izvoza z uvoženimi značilnostmi modela.

    Pomembno je omeniti, da nameni rezultatov testov ne nadomestijo uradne dokumentacije vsakega programa programske opreme. Poleg tega za sodelovanje v referenčnih testih ni bilo nobenega strokovnega znanja in spretnosti. Zato so lahko nekatere informacije napačne ali netočne zaradi malo izkušenj s preizkušeno programsko opremo ali upravljanimi temami. Izjava o ravni strokovnosti je bila namenjena zmanjšanju te možne pristranskosti. Poleg tega so primerjalna skupina in avtorji poskušali čim bolj dvakrat preveriti odgovore (vsaj najbolj nepričakovane), vendar se odgovori, ki so bili navedeni v podatkih, na splošno niso spremenili od prvotnih. Vsa odstopanja med najboljšimi možnimi zmogljivostmi programske opreme in preizkušenim bi lahko vseeno kazala na nizko stopnjo uporabniku prijaznih orodij (in s tem stopnjo težav pri doseganju pravilnega rezultata).

    3.2 Na voljo so podatkovni nizi CityGML

    Za to referenčno dejavnost so bili identificirani, vnaprej obdelani in potrjeni številni nizi podatkov iz različnih virov (za podrobnosti glej Noardo et al., 2019). Podatkovni nizi so bili izbrani za preizkušanje najpogostejših značilnosti takih podatkov in glavnih odkritih težav v zvezi z zanimivimi, a zapletenimi vidiki oblike.

    Zato je bila za preizkušanje podpore za precej preprost, a razširjen nabor podatkov izbrana velika datoteka podrobnosti 1 (LoD1): celotno mesto Amsterdam v LoD1, ki zajema predstavitev številnih mestnih objektov in je uporabno za testiranje programske opreme- in zmogljivosti, povezane s strojno opremo. Poleg tega je bila za preizkušanje podpore različnih LoD, shranjenih v isti datoteki, uporabljena datoteka z dvema LoD (LoD1 in LoD2), ki predstavlja okrožje v Rotterdamu. Končno so bile kompleksnejše geometrije (in z njimi povezane različne semantike), potrebne za predstavitev LoD3, preizkušene s pomočjo sintetično ustvarjene datoteke BuildingsLoD3.gml (Tabela 1). Modeli LoD4 niso bili vključeni v zagotovljene nabore podatkov, saj je v praksi le nekaj primerov, če ne celo.

    Ime Opis Dimenzija Vir Meriti
    Amsterdam.gml Brezšivni model mesta, ki zajema celotno mesto Amsterdam, vključno z več mestnimi enotami CityGML (vegetacija, ceste, voda, stavbe itd.) LoD1. 4,06 GB Ustvarjeno s programom 3dfier s strani TUDelft (https://github.com/tudelft3d/3dfier) Preizkus zmogljivosti, povezane s strojno in programsko opremo (to je zelo težak model), in podpora za vključene razrede mest
    RotterdamLoD12.gml Teksturiran model CityGML enega okrožja v Rotterdamu, ki vključuje samo stavbe v LoD1 in LoD2 33,91 MB/154,4 MB (s teksturami) Občina Rotterdam (NL) Test podpore za več datotek LoD in teksturiranih datotek
    BuildingsLoD3.gml Postopno modelirane stavbe v LoD3 1,33 MB Ustvarjeno prek Random3Dcity (Biljecki, Ledoux & Stoter, 2016, https://github.com/tudelft3d/Random3Dcity) Test podpore za datoteke LoD 3 in povezane razrede

    3.3 Analiza odgovorov o podpori CityGML

    Metodologije za analizo rezultatov o podpori programske opreme za IFC (Naloga 1) in CityGML (Naloga 3) so si zelo podobne, saj so bile zasnovane tudi za preizkušanje podobnih vprašanj v zvezi z interoperabilnostjo in zmožnostjo programske opreme, da datoteke po sebi ohranijo skladne. uvozno -izvozne faze.

    Začetni del analize rezultatov (oddelek 4.2) je kvalitativen in vsebuje opis programske podpore in funkcionalnosti na podlagi posredovanih odgovorov.

    Celotne odgovore in dokumente, predložene v spletnih predlogah (Noardo et al., 2020b, http://doi.org/10.5281/zenodo.3966987), smo dvakrat preverili glede pravilnosti in doslednosti glede na zastavljena vprašanja. Zaradi narave pobude smo zaupali dostavljenim informacijam o programski opremi in jih dvakrat preverili z novimi testi le v primerih nedoslednih odzivov v različnih testih o isti programski opremi ali morda nepričakovanih odzivov. V teh primerih smo upoštevali tudi raven strokovnega znanja udeleženca, da bi ocenili, ali so res potrebna dodatna preverjanja.

    Odzive, podane v predlogah, so kritično ocenili in jih navzkrižno preverili z različnimi testi o isti programski opremi in priloženih posnetkih zaslona. Za vsak vidik, ocenjen za oceno splošne podpore in funkcionalnosti programske opreme, je bila dodeljena ocena (1, polna podpora 0,5, delna podpora 0, brez podpore). Ti so bili sintetizirani v tabeli (tabela 3), da bi lažje sklepali o možnih vzorcih pri številnih vprašanjih za en sam programski paket ali v številnih programskih paketih za eno samo izdajo.

    Opredelitev skupin programske opreme postaja vse bolj nejasna, saj se njihove funkcionalnosti nenehno širijo in se zdaj med seboj prekrivajo. Vendar pa je bila v tabelah in na splošno v analizi, da bi pomagala pri odkrivanju možnih vzorcev, testirana programska oprema razvrščena v skladu z merili, ki običajno vodijo izbire, ki jih naredijo uporabniki, glede na njihove različne potrebe pri določenih nalogah:

    • GIS se pričakuje, da bodo združevali različne vrste geopodatkov in plasti in na njih izvajali analizo, strukturirano v bazi podatkov, v celostnem sistemu.
    • "Razširjeni" 3D -gledalci so verjetno programska oprema, ki je bila prvotno razvita za vizualizacijo semantičnih modelov 3D, vključno z georeferenciranjem, in njihovo iskanje. (Včasih kasneje) so bile razširjene z novimi funkcijami za uporabo simbologije ali preprosto analizo.
    • Izvleči transformacijo in obremenitev (ETL) in programska oprema za pretvorbo naj bi pri podatkih uporabili nekatere opredeljene transformacije ali izračune.
    • Orodja za 3D modeliranje imajo dobro podporo za urejanje geometrije, vendar niso namenjeni upravljanju georeferenciranih podatkov ali semantike.
    • Analiza programske opreme je namenjen posebej nekaterim vrstam zelo specifičnih analiz (npr. energetska analiza),
    • BIM programska oprema je namenjena oblikovanju stavb ali infrastrukture po metodah BIM.

    Preiskovana vprašanja, ki se odražajo v različnih oddelkih predloženih predlog, so se nanašala predvsem na podporo programske opreme za oba standarda (kako programska oprema bere in vizualizira nabore podatkov) ter na funkcionalnosti, ki jih programska oprema dovoljuje s standardiziranimi nabori podatkov (kaj je s temi podatki). Zlasti je bil test za podporo namenjen preverjanju: kako se berejo informacije o georeferenciranju v datotekah in upravljajo, kako se semantika bere, razlaga in hrani po uvozu ter stanje geometrije po uvozu. Pri georeferenciranju gre za zmožnost programske opreme, da poišče in vizualizira podatke na pravilnih georeferenciranih koordinatah, skupaj s prepoznavanjem pravilnega koordinatnega referenčnega sistema (CRS), ki se bere v datoteki. Semantika so tematski podatki, povezani z objekti modela, ki so strukturirani v hierarhiji razredov, medsebojno povezani s pomočjo odnosov, opredeljenih v podatkovnem modelu. V tem primeru za referenčni model podatkov velja standard CityGML. Dodatne informacije so povezane s temi entitetami kot atributi. Tretja točka je o geometriji - načinu prostorskega modeliranja vsakega predmeta in shranjevanju takšne geometrije (npr. Kot trdna snov, kot površina).

    Poleg tega so bila namenjena nekatera dodatna vprašanja za 3. nalogo, da bi raziskali, ali je bil za uporabo datoteke v preizkušeni programski opremi potreben kakšen dodaten korak ali pretvorba ali pa je zadostoval preprost potek dela (npr. Odpiranje programske opreme in uvoz datoteke s pritiskom na gumb) .

    Dodatna vprašanja so torej: kakšne formate je mogoče upravljati (ali je datoteka podprta s kodiranjem GML ali pa je potrebna dodatna ali druga pretvorba v format CityJSON ali bazo podatkov, predvsem SQL)? Ali programska oprema podpira datoteko iz škatle ali je potreben kakšen poseben vtičnik ali dodatek?

    Nazadnje nas skrbijo tudi naslednja vprašanja:

    • Kakšna vizualizacija je omogočena (3D, 2D, s teksturami, s posebnimi temami).
    • Kakšno urejanje je možno (atributi, geometrija, georeferenciranje).
    • Kakšna poizvedba (poizvedujte en sam predmet za branje atributov, izbira po pogojih glede atributov, prostorska poizvedba, izračun novih atributov).
    • Katere analize so dovoljene. Ta tema je bolj zapletena, saj so možne zelo različne analize. Zato smo ga povzeli z opredelitvijo dveh vrst analiz: »Tip 1« je kakršna koli analiza v zvezi s samim modelom (npr. Geometrijska ali pomenska potrditev), »Tip 2« pa simulacije in analize uspešnosti predstavljenega objekta ( npr. stavba) glede na zunanje dejavnike, v mestu ali okolju (npr. senca, hrup, energija).
    • Nazadnje, ali je mogoče izvoziti nazaj v CityGML?

    Še en vidik, ki so ga od preizkuševalcev naloge 3 (podpora CityGML) zahtevali in preverili dostavljene rezultate, je bila podpora za ADE, čeprav je bila le teoretično preverjena, saj ni bilo na voljo podatkovnih nizov ADE.

    Poleg tega je bila zabeležena podpora vsakemu od dostavljenih naborov podatkov, glede na posebne značilnosti, kot sledi: upravljanje z več LoD (prek RotterdamLOD12.gml podatkovni niz), upravljanje LoD3 (skozi BuildingsLOD3.gml) in velik model LoD1 ( Amsterdam.gml podatkovni niz).

    Ta prvi del vsebuje referenco o samih orodjih za ljudi, ki nameravajo uporabljati standardizirane informacije. Poleg tega naj bi izpostavili najzahtevnejše naloge in najpogostejša vprašanja pri upravljanju standardov.

    Drugi, bolj kvantitativni del analize obravnava dostavljene modele, izvožene nazaj v CityGML (Noardo et al., 2020a, https://doi.org/10.5281/zenodo.3966915) iz preizkušene programske opreme (oddelek 4.4). Število in vrste funkcij takih datotek so bile izračunane in primerjane z istimi funkcijami v začetnih naborih podatkov, ki so bili zagotovljeni za test.

    Semantiko smo preverili glede na število entitet in razmerij, izračunano s statističnim orodjem, povezanim s KIT FZKViewer (https://www.iai.kit.edu/1302.php). Poleg tega je bila prisotnost in skladnost atributov preverjena tudi z ročnim pregledom v 3D -gledalcih (FZK in azul, https://github.com/tudelft3d/azul).

    Poleg tega so bile sheme CityGML potrjene s pomočjo preverjevalnika sheme GML, povezanega s FZKViewerjem in preverjevalnikom shem CityGML (http://geovalidation.bk.tudelft.nl/schemacitygml).

    Število in vrsto geometrij je štelo tudi statistično orodje FZK, v nekaterih primerih dodatno podprto z ročnim pregledom. Končno je orodje za preverjanje veljavnosti val3dity (http://geovalidation.bk.tudelft.nl/val3dity) (Ledoux, 2013) omogočilo testiranje veljavnosti ponovno izvoženih geometrij.

    Tako smo lahko ocenili stopnjo interoperabilnosti, ki jo lahko povezana orodja za standarde dejansko dosežejo v različnih primerih: torej, ali je mogoče podatke uvoziti in ponovno izvoziti brez kakršnih koli sprememb?

    Nadaljnja ocena (oddelek 4.3) je bila namenjena oceni zmogljivosti, povezane s programsko in strojno opremo. Časi, ki so jih navedli preizkuševalci, so bili primerjani za tri nabore podatkov, da bi ugotovili, ali lahko njihova računska teža vpliva na njihovo upravljanje v programski opremi.

    Zaradi zapletenosti merjenja zmogljivosti programske opreme na najbližjo sekundo tega uporabniki niso zahtevali. Instead, they were asked to provide an approximate timing value for each test, according to a classification that was proposed following the way they could affect the perception or the work of a user, as explained in the following list:

    • It is almost immediate (good!).
    • Less than a minute (ok, I will wait).
    • 1–5 min (I can wait, if it is not urgent).
    • 5–20 min (in the meantime I can do other things).
    • 20 min–1 hr (I cannot rely on it for frequent tasks),
    • More than 1 hr (I launch my process and go home, definitely ineffective for regular work).

    Other options included reporting whether the software crashed or whether the task was not possible with the software provided, and participants were also asked to provide information about the specification of the machine, as this may impact overall performance of the software. Due to their diverse levels of size and complexity, timing results are summarized for the individual data sets.


    This error usually means that the assembly was not found. Try verifying that the file exists in the directory where your application is running.

    If you still can't figure out which file fails loading, try using a tool such as Fusion Log Viewer (run fuslogvw.exe from the Visual Studio command prompt), to determine which files the CLR was trying to load and from where, so that you can see exactly what failed.

    I experienced the same problem, and the reason was that I compiled my EXE and DLL on 32 bit machine for "x86", because it depends on C++CLI library compiled for Win32. Then I tried to use this library on 64 bit machine from 64 bit process. Obviously 64 bit process can't load 32 bit libraries, so I got this error, which does not really help to understand the problem.

    So the reason could be that you try to use 32 bit library from 64 bit process.


    10 odgovorov 10

    Just for reference, here is my python implementation of the method I needed:

    And here I thought it was something simple like easting*x+zone*y or something.

    What I found is the following site: http://home.hiwaay.net/

    taylorc/toolbox/geography/geoutm.html It has a javascript converter, you should check the algorithm there. From the page:

    Programmers: The JavaScript source code in this document may be copied and reused without restriction.

    According to this page, UTM is supported by proj4js.

    You may also want to take a look at GDAL. The gdal library has excellent python support, though it may be a bit overkill if you're only doing projection conversion.

    I'm new to this as well and have been studying up on the subject recently.

    Here's a method I found using the python gdal pacakge (the osr package is included in gdal). The gdal package is pretty powerful, but the documentation could be better.

    And here's the method for converting from a lat, lon in wgs84 (what most gps units report) to utm:

    I also found that if you've already got django/gdal installed and you know the EPSG code for the UTM zone you're working on, you can just use the Point() transform() metoda.


    Paketi Debian Science Geography

    AVCE00 je knjižnica C in skupina orodij, zaradi katerih se Arcinfo (binarno) vektorsko pokrivanje pojavi kot E00. Omogoča branje in pisanje binarnih poročil, kot da bi bile datoteke E00.

    drawmap は、デジタル標高モデル (Digital Elevation Model - DEM)、デジタル 線グラフ (Dital Line Graph - DLG)、地名情報システム (Geographic Names Information System - GNIS) などのデータを読み込みます。SDTS, NAD-83, WGS-84, GTOPO30 などのデータも扱えます。

    以上のデータを使って、drawmap は様々にカスタマイズされた地図を作成する ことができます。その中には、陰影処理を施した起伏図 (道路、小川、地名、 その他の表示 & 非表示) や、地勢図 (これにも種々の特徴を付加できます) な どが含まれます。

    Sun Raster 形式、移植性に優れたグレイマップ、POV 形式などのファイルに 出力することができます。

    E00compr je knjižnica ANSI C, ki bere in piše Arcinfo stisnjene datoteke E00. Podprti sta ravni stiskanja "PARTIAL" in "FULL". Datoteke E00 so vektorska oblika uvoza/izvoza za Arcinfo. Je navaden ASCII in je mišljen kot oblika izmenjave. ESRI meni, da je oblika lastniška, zato ta paket morda ne bo prebral vseh datotek E00, saj lahko ESRI spremeni obliko.

    Ta paket je uporaben za uvoz datotek E00 v travnati GIS sistem.

    Vsebuje program ukazne vrstice e00conv, ki za vhod vzame datoteko E00 (stisnjeno ali ne) in jo kopira v novo datoteko z zahtevano stopnjo stiskanja (NIČ, DELNO ali POLNO). Knjižnica na tej stopnji ni vključena.

    Podatki zemljevida se pridobivajo s strežnika v omrežju, odjemalec pa prikaže nedavne satelitske posnetke in podatke zemljevida.

    GDALはラスター地理空間データフォーマットの翻訳ライブラリです。ライブラリと して、全サポートフォーマットに対しアプリケーション呼び出しのためのシングル 抽出データモデルを提供します。その関連するOGRライブラリィ (GDALソースツリー の中に含まれる) はシンプルな特色のベクタデータに対し類似の性能を備えます。

    GDAL は一般的に使われる形式 (GeoTIFF、JPEG、PNG 等) や、 GIS と同様のリモートセンシングのソフトウェアパッケージ (ERDAS イメージ、ESRI Arc/Info、ENVI、PCI Geomatics) を含めた、 40 以上のポピュラーなデータフォーマットをサポートします。 また、多くのリモートセンシングと HDF、EOS FAST、NOAA L1B、NetCDF、FITS のような科学的なデータ配布フォーマットもサポートします。

    このパッケージは GDAL/OGRライブラリ、つまり gdal_translate、gdalinfo、 gdaladdo、gdalwarp、ogr2ogr、ogrinfo、ogrtindex に基づいたユーティリティプログ ラムを含みます。

    GeoIP je knjižnica C, ki uporabniku omogoča, da poišče državo, iz katere izvira kateri koli naslov IP ali ime gostitelja. Uporablja datotečno bazo podatkov.

    Ta baza podatkov preprosto vsebuje bloke IP kot ključe in države kot vrednosti, zato bi morala biti popolnejša in natančnejša od uporabe povratnih iskanj DNS.

    Ta paket vsebuje pripomočke ukazne vrstice za razrešitev številk IP z uporabo knjižnice GeoIP.

    Ta naloga določa, da je vaš sistem delovna postaja GIS za obdelavo geografskih informacij in izdelavo zemljevidov.

    GMT je zbirka orodij, ki uporabnikom omogočajo manipulacijo naborov podatkov (x, y) in (x, y, z) (vključno s filtriranjem, prilagajanjem trendov, mreženjem, projiciranjem itd.) In izdelajo ilustracije inkapsulirane datoteke PostScript (EPS) v razponu od preprostih xy ploskev preko konturnih zemljevidov do umetno osvetljenih površin in 3-D perspektivnih pogledov v črno-beli barvi, sivih tonih, vzorcih in 24-bitnih barvah.

    GMT podpira številne običajne projekcije zemljevidov ter linearno, dnevniško in merilno moč ter vsebuje podporne podatke, kot so obale, reke in politične meje.

    Gosmore je pregledovalnik in iskalnik poti openstreetmap.org s podporo za sintezo govora in pridobivanje trenutne lokacije iz gpsd.

    Ta paket zahteva dodatne podatkovne datoteke, ki jih lahko prosto prenesete z openstreetmap.org.

    GPSBabel は中間地点や道路、ルートをある形式から Delorme や Streets and Trips のような一般的な地図形式などに変換したり、Garmin や Magellan と いったメーカ製の GPS 装置とのあいだでシリアルアップロードやダウンロー ドを行ないます。

    GPSBabel は数多くのデータ形式に対応しており、ジオキャッシングや地図作 成、ある GPS 装置から別の装置への変換といった処理に役立ちます。対応し ている形式でも興味深いものの中には、シリアル接続での GPS デバイス、各 種 PDA ベースの地図ソフト、各種ジオキャッシングデータ形式があります。


    1 odgovor 1

    We see from the graphic that

    one translated vector (dashed line) is generated by adding the position vector $(-2,4)$ to $(2,-1)$ resulting in $(2,-1)+(-2,4)=color<(0,3)>$ , resp.

    the other translated vector is generated by adding the position vector $(2,-1)$ to $(-2,4)$ resulting in $(-2,4)+(2,-1)=color<(0,3)>$ .

    Observe that one dashed line is parallel to the vector $2(-1,2)=(-2,4)$ .

    In fact it is the position vector $(-2,4)$ with start point added at $(2,-1)$ and end point in $(0,3)$ . We can so use the dashed line by doing a walk from $(0,0)$ to $(0,3)$ . We start in $(0,0)$ go from $(0,0)$ to $(2,-1)$ and now we walk along the dashed line from $(2,-1)$ append the vector $(-2,4)$ and end in $(0,3)$ .

    We can also walk from $(0,0)$ to $(0,3)$ the other way round by starting in $(0,0)$ going from $(0,0)$ to $2(-1,2)=(-2,4)$ and now by walking the other dashed line from $(-2,4)$ to $(0,3)$ by appending the other vector $(2,-1)$ .

    Algebraically these two walks are described by using the rules of commutativity egin (2,-1)+(-2,4)=color<(0,3)>=(-2,4)+(2,-1) end as indicated by the red colored vector identities in the graphic.


    Poglej si posnetek: Rejestrowanie pliku rastrowego w Qgis (Oktober 2021).