Daugiau

Ar yra būdas sukonfigūruoti QGIS, kad būtų išvengta st_extent skambučio pridedant „PostGIS“ lentelę?

Ar yra būdas sukonfigūruoti QGIS, kad būtų išvengta st_extent skambučio pridedant „PostGIS“ lentelę?


Bandau prie QGIS pridėti itin didelę lentelę su taškų geometrijos lauku ir atrodo, kad QGIS kabo. Šiek tiek ištyręs „postgresql“ duomenų bazėje, susekiau jį iki ast_extentant viso stalo.

Ar teisinga manyti, kad QGIS taip daro, kad sluoksnis būtų visiškai išgautas? Ir jei taip, ar yra būdas tai apeiti? Galbūt naudokite erdvinį atskaitos mastą arba rankiniu būdu nurodykite mastą?

QGIS 2.6 64 bitų
POSTGIS = "2.1.3 r12547" GEOS = "3.4.2-CAPI-1.8.2 r3924" PROJ = "Rel. 4.8.0, 2012 m. Kovo 6 d." GDAL = "GDAL 1.10.0, išleista 2013-04-24" LIBXML = "2.7.8" LIBJSON = "UNKNOWN" TOPOLOGY RASTER
„PostgreSQL 9.3.5“, sudarytas naudojant „Visual C ++ build 1600“, 64 bitų


Pažvelkite į „PostGIS“ ryšio nustatymus. Yra pasirinkimas „Naudoti įvertintus metaduomenis“, kuris pagal numatytuosius nustatymus nepažymėtas. Patikrinkite ir QGIS naudos ST_Estimated_Extent http://postgis.net/docs/manual-2.0/ST_Estimated_Extent.html. Nepamirškite prieš tai paleisti VAKUUM ANALYZE.


Ryšio parinktis „naudoti įvertintus metaduomenis“ veikia naujai sukurtiems sluoksniams, tačiau ji nekeičia esamų sluoksnių, kurie jungiasi prie tos duomenų bazės, ir neradau jokio būdo juos pakeisti sluoksnio ypatybėse (aš naudoju 3.8.3). Radau, kad palyginti greitai pakeičiau visus esamus sluoksnius, redaguodamas pridėtą QGS failąapskaičiuoti metaduomenys = tiesaprie visų „PostGIS“ duomenų šaltinių aprašymų.

Štai žingsniai, kuriuos aš atlikiau naudodamas „Linux“ terminalą. Panašius veiksmus galima atlikti bet kurioje OS, jei turite galimybę ieškoti ir pakeisti tekstą.

  1. Ištraukite QGS failą iš QGZ:

    $ unzip map.qgz map.qgs
  2. Papildytiapskaičiuoti metaduomenys = tiesaį visus „PostGIS“ duomenų šaltinių aprašus QGS. Mano konkrečiame faile radau juos XMLiržymes.

    Kalbant apie konkretų failą, aš patikrinau ir pamačiau, kad visose tokiose eilutėse nėraapskaičiuoti metaduomenys =, taigi, o ne perjungtiapskaičiuoti metaduomenys = klaidingaįapskaičiuoti metaduomenys = tiesa, Turėjau pridėti naująapskaičiuoti metaduomenys = tiesa. Ieškojau eilutės, esančios visų duomenų šaltinių aprašų viduryje, kad galėčiau atlikti paieškos ir įterpimo atitikmenį naudodami teksto pakeitimą. Eilutė, kurią radau savo faile, buvocheckPrimaryKeyUnicity =, todėl paleidau šią komandą:

    $ sed -i 's/checkPrimaryKeyUnicity/apskaičiuoti metaduomenys = true checkPrimaryKeyUnicity/g' map.qgs

    Gali tekti tai pritaikyti prie konkretaus failo informacijos, atlikti pakeitimus labiau rankiniu būdu arba naudoti įrankį su XML specifinėmis redagavimo funkcijomis.

  3. Pakeiskite QGS failą QGZ:

    $ zip -u map.qgz map.qgs

Laikykite ir vizualizuokite savo rastrą debesyje naudodami COG ir QGIS

Neseniai dirbome Prancūzijos kosmoso agentūroje (CNES), kuriai reikėjo saugoti ir vizualizuoti palydovinius rastrus debesų platformoje. Jie nori prieiti prie neapdorotų vaizdo duomenų, nekeisdami jų, kad galėtų atlikti išsamią analizę, pvz., Prietaiso kalibravimą. Naudoti klasikinį kartografinio serverio standartą, pvz., WMS ar TMS, nėra galimybės, nes šios paslaugos keičia duomenų rinkinius į jau pateiktas plyteles.

Mes pasirinkome naudoti gana neseną formatą, valdomą GDAL, COG (debesų optimizavimo geotipas) ir tikslinė OVH debesų platforma, kuriai ji teikia „OpenStack“ - atvirojo kodo debesų kompiuterijos platformą.


Šis kodas sukuria langą su sąlygomis, kad vartotojas negali pakeisti lango Tk () matmenų, taip pat išjungiamas padidinimo mygtukas.

Programoje galite pakeisti lango matmenis naudodami @Carpetsmoker atsakymą arba atlikdami šiuos veiksmus:

Jums turėtų būti gana lengva tai įdiegti į savo kodą. :)

Galite naudoti minimalų ir maksimalų dydį, kad nustatytumėte minimalų ir maksimalų dydį, pavyzdžiui:

Langui suteiks fiksuotą 666 pikselių plotį ir stiprintuvo aukštį.

Pasirūpins, kad jūsų langas visada būtų bent jau 666 pikselių dydžio, tačiau vartotojas vis tiek gali išplėsti langą.


QGIS diegimas

Galite atsisiųsti QGIS iš šios nuorodos [5] naudodami žalią spalvą Parsisiųsti dabar mygtuką. Pasirinkite savo platformą: „Windows“, „Mac OS X“, „Linux“, „BSD“ arba „Android“ iš įvairių atsisiuntimo puslapio išskleidžiamųjų meniu (šioje pamokoje bus naudojama „Windows“). Jei turite „Windows“, patikrinkite savo specifikacijas, nes naudosite 32 arba 64 bitų. Pasirinkite naujausią atskirą versiją ir atsisiųskite .exe diegimo programą. Atsisiuntę eikite į vietą, į kurią atsisiųsta .exe diegimo programa, paleiskite ją ir naudokite rodomą sąrankos vedlį, kad sukonfigūruotumėte programą.

Kai QGIS bus visiškai įdiegta jūsų kompiuteryje, paleiskite ją naudodami darbalaukio piktogramą arba pradžios meniu paleidimo priemonę. Atidarius, turėtų pasirodyti programos langas, kaip paveikslėlis. Norėdami sukurti mūsų projekto projekto failą, spustelėkite Projektas viršutiniame kairiajame kampe ir Išsaugoti kaip. Naršykite aplanką, sukurtą ankstesniame žingsnyje, suteikite projektui pavadinimą, pvz Georeferencijos pamoka, ir pataikyti Sutaupyti.


Kaip neleisti „Tensorflow“ skirti GPU atminties?

Dirbu aplinkoje, kurioje bendrinami skaičiavimo ištekliai, t. Y. Turime keletą serverių mašinų, kuriose yra keli „Nvidia Titan X“ GPU.

Mažo ir vidutinio dydžio modeliams 12 GB „Titan X“ paprastai užtenka 2–3 žmonėms, kurie tuo pačiu metu mokosi tuo pačiu GPU. Jei modeliai yra pakankamai maži, kad vienas modelis neišnaudotų visų GPU skaičiavimo vienetų, tai iš tikrųjų gali pagreitinti, palyginus su vieno mokymo proceso vykdymu po kito. Net ir tais atvejais, kai tuo pačiu metu prieiga prie GPU sulėtina individualų mokymo laiką, vis tiek malonu turėti lankstumą, kai keli vartotojai vienu metu treniruojasi GPU.

„TensorFlow“ problema yra ta, kad pagal numatytuosius nustatymus ji paleidžia visą turimą GPU atmintį. Net mažam dviejų sluoksnių neuroniniam tinklui matau, kad visos 12 GB GPU atminties yra išnaudotos.

Ar yra būdas priversti „TensorFlow“ skirti, tarkime, 4 GB GPU atminties, jei žinote, kad tam užtenka tam tikram modeliui?


A.5. Išleiskite 3.0.0rc2

Jei kompiliavimas atliekamas naudojant „PostgreSQL+JIT“, reikalingas LLVM & gt = 6

Palaikomos šio leidimo „PostgreSQL“ versijos: PostgreSQL 9.5 - PostgreSQL 12 GEOS & gt = 3.6. Papildomos funkcijos įjungtos, jei naudojate „Proj6+“ ir (arba) „PostgreSQL 12“. Našumo patobulinimai, jei veikia „GEOS 3.8+“

Pagrindiniai akcentai

4534, Ištaisykite nuotėkį lwcurvepoly_from_wkb_state (Raúl Marín)

4536, Ištaisykite nuotėkį lwcollection_from_wkb_state (Raúl Marín)

4537, Ištaisykite nutekėjimą WKT kolekcijos analizatoriuje (Raúl Marín)

4535, WKB: venkite buferio perpildymo (Raúl Marín)


2015 m. Vasario 27 d., Penktadienis

Nuotolinis stebėjimas-kas turėtų būti pirmiausia-radiometrinis kalibravimas ar bendra registracija?

Kuris vaizdų pora turėtų būti pirmas apdorojant palydovinius vaizdus-radiometrinis kalibravimas ar bendra registracija?

Tarkime, kad turime du vaizdus, ​​kuriuos norime užregistruoti kartu, arba vieną vaizdą, kurį norime užregistruoti žemėje:

Pirmas žingsnis yra pašalinti geometrines ir radiometrines klaidas kiekviename vaizde. Kiekvienas vaizdas turi tam tikrų geometrinių klaidų dėl:


  • Žemės sukimasis
  • Nukreiptas nuskaitymo laikas
  • Vaizdo santykis
  • Panoraminis efektas (peties klaida)
  • Žemės kreivumas

Dėl šių klaidų vaizdo gavimo metu pikseliai dreifuos, o radiometrinė informacija bus paveikta. Taigi, kai pašaliname (perkeliame taškus į teisingą vaizdo vietą) šias geometrines klaidas, taip pat turėtume atlikti radiometrinę interpoliaciją. Radiometrinę interpoliaciją galima atlikti:

Be to, jei abu vaizdai yra skirtingo dydžio, šiame žingsnyje turėtume pakeisti jų dydį, naudodami aukščiau pateiktus interpoliacijos metodus.

Antras žingsnis yra bendrai registruoti (nustatyti matematinę transformaciją tarp dviejų vaizdų) vaizdus. Tai galima padaryti įvairiais būdais. Vienas iš jų - užregistruoti abu vaizdus žemėje. Kai abu vaizdai bus užregistruoti žemėje (ta pati atskaitos sistema), jie bus tarpusavyje registruoti.
Įregistravimui naudojami skirtingi matematiniai modeliai, pagrįsti skirtingais veiksniais, įskaitant jutiklio, naudojamo vaizdams gauti, tipą. Vienas iš jų, naudojamas HRSI vaizduose, yra nuo reljefo nepriklausomi RPC koeficientai

Taigi visada pirmiausia pašaliname kiekvieno vaizdo klaidas (kiekvieno vaizdo kalibravimas), o paskui jas iš naujo užregistruojame. Tai pasakytina apie visų rūšių nuotolinio stebėjimo vaizdus, ​​įskaitant „PolSAR“, „InSAR“, „Hyperspectral“ ir „Multispectral“ vaizdus.

Du vaizdai yra bendrai registruojami, kai abu yra be klaidų

Koordinačių sistema - „Waterman“ drugelio projekcija „Mapnik“

Kaip pavadinime sakoma, kaip kas nors sukonfigūruotų „Mapnik“ naudoti „Waterman“ drugelio projekciją?

Priešingu atveju, kokius kitus įrankius būtų galima pateikti naudojant šią projekciją?

Nemanau, kad „mapnik“ ar „proj4“ gali pateikti tokią projekciją.

Remiantis tuo puikiu įrašu, „Openlayers“ su protovis biblioteka galėtų pateikti ne tiksliai Watermano, bet ir „Fuller“ projekciją (dar vadinamą „Dymaxion“).

Jūs netgi turite pavyzdį internete.

Pyqgis - Spausdinti centrinį žemėlapį iš QGIS projekto kiekvienam formos failo taškui?

Man reikia sudaryti maždaug 100 žemėlapių, kurie yra sutelkti į kiekvieną formos failo lankytiną vietą. Norėčiau paruošti visus pagrindinio QGIS projekto sluoksnius ir nustatyti vieno taško kompoziciją (kad prireikus būtų galima spausdinti 100 žemėlapių rankiniu būdu).

Turėčiau kažką panašaus į šiuos sluoksnius:

Ir tada norėčiau automatizuoti spausdinimą į svg kažką panašaus:


  1. Už kiekvieną formos failo tašką
  2. Centruokite žemėlapio drobę į tą tašką

Esu pakankamai tikras, kad žinau, kaip daryti 1 ir 2, bet šioje svetainėje neradau išsamios informacijos apie 3 ir 4.


  1. Spausdinimo kompozitoriuje įgalinkite atlasą ir naudokite taškinį sluoksnį kaip atlaso aprėpties sluoksnį.
  2. Nustatykite žemėlapio elementą, kurį valdys atlasas, ir pasirinkite fiksuotą mastelį

Grįžę į pagrindinį QGIS langą, kiekvienam sluoksniui, kurį norite filtruoti pagal tam tikrą atstumą iki taško, naudokite taisyklėmis pagrįstą simboliką ir naudokite šią taisyklę

viduje ($ geometry, buferis (@atlas_geometry, distance))

Kaip iš figūros failo gauti konkrečios „bbox“ funkciją pagal ogr

Turiu kai kurių funkcijų tašką, liniją, daugiakampį su formos failo formatu, dabar noriu gauti tam tikros ribotos dėžės funkcijų, ar galima pašalinti funkcijas iš „bbox“?

O daugiakampiui, manau, būtina jį uždaryti.

Įdomu, ar tai įmanoma?

Postgis - Taškų radimas kelyje

Nesu tikras, kaip geriausiai išspręsti šią problemą. Aš galiu sugalvoti keletą būdų tai padaryti, kuriuos išvardinsiu žemiau, bet ieškau geriausio ir efektyviausio būdo tai padaryti.


    Turėdami kintamą taškų skaičių, sukurkite „maršrutą“ arba liniją tarp taškų.

Pastaba: spindulys neturi būti apskritimas. A, B, C, D gali naudoti stačiakampius ribojimo langelius.


  • Lentelė su taškais (x, y - techniškai lat/lon)
  • Įveskite taškus, kad sukurtumėte maršrutą

Mes naudojame „PostgreSQL“ (8.4) ir „PostGIS“ (1.3.6) bei „Python“.

Tokį sprendimą sugalvojau. Mintys? Idėjos? Įvestis?


  • Sukurkite tris daugiakampius „vamzdelius“ (A-> B, B-> C, C-> D)
  • Filtras nurodo tik tuos, kurie yra daugiakampiuose.
  • Atimkite B-> C iš A-> B, kad daugiakampiai nesutaptų (nėra dublikatų)
  • Atimkite C-> D iš B-> C, kad daugiakampiai nesutaptų (nėra dublikatų)

Mano požiūris buvo naivus, šiek tiek užtrukęs ir pažvelgęs į „PostGIS“ metodus sugalvojau šį vienintelį SQL skambutį. Atkreipkite dėmesį, kad jis būdingas mūsų duomenų bazei, bet gali kam nors padėti ateityje. Esu tikras, kad tai taip pat būtų galima patobulinti.

Turėjau suprojektuoti duomenis, nes naudoju „PostGIS 1.3.4“, kuri nepalaiko geografijos tipo.

Iš esmės aš naudoju „ST_MakeLine“ ir užklausą „aerodromams“ surasti ir jų geometrijai grąžinti.

Turėjau juos užsisakyti (naudodamas CASE direktyvą), kad linija būtų prijungta teisinga tvarka.

Tada aš projektuoju ir buferizuoju šią liniją, kad sukurtų daugiakampį, kurį galėčiau naudoti norėdamas pamatyti, kokie kiti aerodromai kerta buferinį daugiakampį.

Paskui, naudodama nefasuotą liniją (maršrutą) ir skambutį ST_Line_Locate_Line I, užsisakykite atrastus aerodromus, kaip jie pasirodo kelyje.

Jums reikia dviejų „postgis“ funkcijų ST_Buffer ir ST_Line_Locate_Point.

Prieigos pažeidimas „ArcObject“ kelių gijų programoje

Manau, kad tai išsiaiškinau. Labiausiai tikėtina išimčių priežastis daugiapakopėje programoje gali būti:

Kai abi temos bando atidaryti tą pačią funkcijų klasę, ji nutrūksta: nes viena iš siūlų jau atidaroma, o kiti bando padaryti tą patį, todėl pateikiama tokia klaida:

„Atminties nepavyko nuskaityti ar įrašyti iš apsaugotos atminties“

Tai mano spėjimas, bet man įdomu tai, kodėl nerimaujama atskirai, net jei kiekvienoje temoje atveriu skirtingą darbo vietą. Gali būti „Arcobjects“ viduje, ieško tos pačios adreso vietos bet kuriam duomenų bazės objektui. Aš parašiau keletą kodo eilučių ir bandžiau paleisti jį su skirtingomis gijomis, atveriančiomis skirtingas objektų klases, ir tai taip pat nutrūksta, bet

kad ir kur, aš ištraukiu keletą siūlų, kad atidarytumėte tą pačią funkcijų klasę, kuri nutrūksta su aukščiau pateiktomis klaidomis.

Be to, atminties neatlaisvinimas yra kita tokių klaidų priežastis.

Norėdami paaiškinti, pridėkite šiek tiek kodo:

Viršuje esantis kodas dažniausiai nutrūksta su minėta išimtimi.

@AndOne, aš naudoju „Oracle“ erdvinį tiesioginį ryšį. Be to, sukūriau naują funkcijų klasę ir paleidžiau tą patį kodą, tai taip pat nepavyksta, kai padidinamos gijos. Yra keletas skirtumų, kuriuos galėčiau išsiaiškinti tarp šių dviejų funkcijų klasių:

Sql - „PostGIS“ susikirtimas ir atributų apibendrinimas

Paprastai esu „ArcGIS“ darbalaukio naudotojas, tačiau noriu pradėti daugiau naudotis „PostGIS“ ir turiu atlikti tikrai daug. Nežinote, kokias funkcijas naudoti, tikiuosi, kad kas nors gali padėti.

Turiu daugiakampio duomenų rinkinį (kelis milijonus funkcijų), pagrįstą žemės naudojimo/ landcover klasifikacijos tipu (20 kategorijų). Kitame duomenų rinkinyje turiu daugybę regionų.

Kiekvieno regiono atveju norėčiau žinoti kiekvienos sausumos dangos klasifikacijos plotą.

ArcGIS (jei tai būtų mažesnis duomenų rinkinys) įsivaizduočiau, kad pirmiausia pridedu regioną prie kiekvieno atributų lentelės daugiakampio naudodami sujungimą. Tada lentelėje naudokite „apibendrinti“ pagal regioną ir pagal dangų klasifikaciją.

Nežinote, kur pradėti tai daryti naudojant „PostGIS“ / SQL.

Oho, ačiū, tai buvo didžiulė pagalba.

Tai veikia ilgą laiką (44 valandos!), O dabar gaunu:

Manau, kad tai yra pradinių duomenų problema - tik pirminių duomenų peržiūros atvejis, ar galiu iš pradžių patikrinti visų duomenų topologiją? Ar yra kažkas priimant tam tikras klaidas / apdorojimo tolerancijas?

Darant prielaidą, kad turite tokį lentelės išdėstymą

Vieno regiono teritorijos vertes galima apskaičiuoti naudojant

„ST_Intersection“ naudojama apskaitos poligonams, kurie yra tik iš dalies regione, apskaityti.

Arcgis desktop - Kaip sukurti maršruto įvykio sluoksnį?

Aš naudoju „ArcGis 10.1“, bet esu šios programos pradedantysis.

Noriu sukurti maršruto įvykio sluoksnį pagal jau apibrėžtą maršrutą. Mano klausimas yra trečioje eilutėje, kai programa manęs prašo įvesties įvykių lentelės. Aš perskaičiau keletą paaiškinimų apie šį įrankį, bet bet kuris iš jų paaiškina, kokia tai lentelė. Ar turiu sukurti „Excel“ lentelę? Jei taip, kaip tai turi atrodyti?

Turite pateikti lentelę. Tai gali būti .dbf failas, geografinių duomenų bazės lentelė arba „Excel“ failo lapas. Rekomenduoju eksportuoti „Excel“/.dbf į geografinių duomenų bazės lentelę, kad įsitikintumėte, jog lauko duomenų tipai yra tinkamai konvertuojami.

Pateikę lentelę turėsite pateikti kelis laukus (iš esmės susieti įvesties lentelės laukus su reikiamais laukais). Ką šie laukai reiškia, galite perskaityti čia „Padaryti maršruto įvykio sluoksnį“ (linijinė nuoroda) pagalbos puslapyje.

Jei dar nesate susipažinę su linijinėmis nuorodomis, apsvarstykite galimybę perskaityti „ArcTutor“ vadovėlį, kuris pateikiamas kartu su „ArcGIS“ laikmena. Taip pat galite jį atsisiųsti iš „Esri“ klientų priežiūros portalo.

Qgis - Vertikalios/horizontalios etiketės, žymint apskritimus daugiakampius perimetru?

Turiu kelis daugiakampius (apskritimus), kuriuos noriu pažymėti jų ID numeriu. Etiketė turėtų būti už apskritimų ribų, todėl naudoju padėties nustatymo parinktis „Naudoti perimetrą“ ir varnelę „Šalia eilutės (arba panašiai, mano qgis kalba ispaniškai.).

Dabar QGIS automatiškai sulygiuoja etiketes su linijos kreivumu. Ar yra galimybė ar būdas juos nukreipti horizontaliai?


3 atsakymai 3

Nors @sysdmin1138 atsakymas buvo teisingas, verta paminėti, kad taikymo srities pakeitimas nėra vienintelė priežastis, dėl kurios dalykų trūksta. Yra dalykų, kurie nematomas pagal nutylėjimą.

Kai kurie objektai, pvz PhysicalDeliveryOfficeName yra paslėpti, todėl negalite jų lengvai perduoti. Taip pat paslėpta daug kitų atributų, tačiau „PhysicalDeliveryOfficeName“ yra labai konkretus ir gali būti geras pavyzdys, kaip viskas veikia delegacijai.

Skirtukas „Nuosavybės leidimai“ vartotojo objektui, kurį peržiūrite „Active Directory“ vartotojai ir kompiuteriai gali nerodyti visų vartotojo objekto ypatybių. Taip yra todėl, kad prieigos kontrolės vartotojo sąsaja filtruoja objektų ir ypatybių tipus, kad būtų lengviau valdyti sąrašą. Nors objekto savybės yra apibrėžtos schemoje, rodomų filtruotų ypatybių sąrašas saugomas Dssec.dat failą, esantį %systemroot% System32 aplanką visuose domeno valdikliuose. Galite redaguoti objekto įrašus faile, kad per vartotojo sąsają būtų rodomos filtruotos ypatybės.

Filtruota nuosavybė atrodo taip Dssec.dat failas:

Norėdami rodyti objekto ypatybės skaitymo ir rašymo teises, galite redaguoti filtro reikšmę, kad būtų rodomas vienas arba abu leidimai. Jei norite rodyti nuosavybės skaitymo ir rašymo teises, pakeiskite vertę į nulį (0):

Jei norite rodyti tik nuosavybės rašymo teisę, pakeiskite vertę į 1:

Jei norite rodyti tik nuosavybės skaitymo teises, pakeiskite vertę į 2:

Redaguodami failą „Dssec.dat“, turite išeiti ir iš naujo paleisti „Active Directory“ vartotojus ir kompiuterius, kad pamatytumėte nefiltruotas ypatybes. Failas taip pat yra skirtas konkrečiai mašinai, todėl jo pakeitimas viename kompiuteryje neatnaujina visų kitų. Tai priklauso nuo jūsų, ar norite, kad jis būtų visur matomas, ar ne.

Visą istoriją apie „PhysicalDeliveryOfficeName“ ir kaip ją pakeisti naudojant ekrano kopijas galima perskaityti mano tinklaraštyje.

PS1. Kadangi „PhysicalDeliveryOfficeName“ yra ypatingas atvejis, pakeitus šį nustatymą ieškokite Skaitymo/rašymo biuro vieta. Deja, pavadinimas PhysicalDeliveryOfficeName niekada nepasirodo.

PS2. Jei šie nustatymai nebus atskleisti pakeitus dssec.dat, jūs jų negalėsite matyti. Kadangi šis failas skirtas vienam kompiuteriui, visiškai įmanoma, kad jis matomas kai kuriuose kompiuteriuose, o kituose - ne, atsižvelgiant į tai, ar kas nors padarė pakeitimą anksčiau, ar ne. Tai gali paaiškinti, kodėl tai matėte anksčiau, o ne vėliau.

PS3. Atsiprašau už prisikėlimą, bet tik kelias valandas bandžiau rasti priežastį, todėl galvojau, kad pasidalinsiu ja ateityje.


Jūs visada galite iškviesti cmd apvalkalą su administratoriaus teisėmis (arba bet kuriuo kitu runas metodu) ir naudoti įrankį, pvz., SETX, norint visam laikui keisti kelią. Esami apvalkalai ir (arba) veikiančios programos tikriausiai naudos seną kelią, tačiau bet kuris naujas apvalkalas/programa naudos naujus nustatymus.

Paskyros be administratoriaus teisių:

Atidarykite „Vartotojo abonementai“ ir pasirinkite „Keisti aplinkos kintamuosius“ (http://support.microsoft.com/kb/931715).

Šiame dialogo lange bus rodomi jūsų dabartiniai vartotojo kintamieji ir sistemos kintamieji. Jei to dar nepadarėte, gali tekti pridėti vietinį PATH kintamąjį.

Pavyzdžiui, jei norite atnaujinti savo kelią ir įtraukti „Python 3.3“ katalogą, spustelėkite Naujas:

Kintamojo pavadinimas: PATH kintamojo vertė: %PATH %C: Python33

Tai sukuria vietinį PATH, paimant dabartinę sistemos PATH ir pridėjus prie jo.


2015 m. Vasario 25 d., Trečiadienis

Geoserveris - „OpenLayers 3“: užblokuota kelių šalių kilmės užklausa: ta pati kilmės politika neleidžiama

Naudodamas „OpenLayers 3“ negaliu pašalinti šio pranešimo:

Bandžiau nustatyti „crossOrigin“ nustatymą:

Matau tik priartinimo/mažinimo valdiklį, bet sluoksnis nėra atvaizduojamas.

Aš pasirinkau Simono 3 variantą žemiau. Įjungiau „CORS“ „GeoServer“, nukopijavęs reikiamus „Jetty-Servlets“ stiklainius ir įgalinęs jį „WEB-INF“ web.xml:

Po to aš dar kartą išbandžiau puslapį ir gaunu tą pačią klaidą:

Atrodo, man vis dar kažko trūksta. Ar turiu ką nors daryti iš „OpenLayers“ pusės?

Galų gale atsikratiau „Jetty“ ir visiškai pašalinau „GeoServer“. Problema yra tai, kad įdiegus geoserverio langų diegimo programą, ji įdiegia 4 metų senumo prieplaukos versiją! („Jetty“ versija 6.1.8) Nors buvau nukopijavęs „CORS“ jar failus, jis palaikomas tik „Jetty 7+“.

Aš sužinojau, kad galite įdiegti WAR failą. Aš nusprendžiau naudoti „Tomcat“, nes būtent tai „GeoServer“ dažniausiai išbandoma pagal šią pastabą iš „GeoServer“ svetainės:

Pastaba „GeoServer“ dažniausiai buvo išbandyta naudojant „Tomcat“, todėl šios instrukcijos gali neveikti su kitomis konteinerių programomis.

Šios WAR failo diegimo instrukcijos:

Tai taip pat yra geras vaizdo įrašas:

Baigę diegimą įjungiate CORS:

Erdvinė duomenų bazė - reikia vektorinio formato, kurį galima redaguoti QGIS ir kuris palaiko & gt10 simbolių stulpelių pavadinimus

Dėl priežastys, Man reikia sukurti naują stulpelį vektorinės formos faile, kurio pavadinimas ilgesnis nei 10 simbolių, ir eksportuoti į mapinfo TAB formatą. Aš žinau, kad .shp nepalaiko> 10 simbolių stulpelių pavadinimų, todėl ieškau tarpinio formato, kurį būtų galima redaguoti QGIS, būtų galima pridėti stulpelių po funkcijų pridėjimo ir būtų palaikomi> 10 simbolių didžiųjų stulpelių pavadinimai. Atrodo, kad visi vektoriniai formatai palaiko tam tikrą šių derinį, bet ne visi trys.

Ar kas nors turėjo šią problemą praeityje ir (arba) žinote formatą, kuris palaiko šį naudojimo atvejį?

Turėtų veikti bet kuri su SQL suderinama erdvinė duomenų bazė, įskaitant „PostGIS“ (jei atsitiktų, kad naudojate „PostGIS“ serverį) arba „SpatiaLite“ (tačiau atkreipkite dėmesį į toliau nurodytus veiksmus).

Bet kuris iš jų atitiks jūsų kriterijus:


    Numatytame „PostGIS“ diegime identifikatoriai (įskaitant stulpelių pavadinimus) gali būti iki 63 simbolių (ir tai galima padidinti keičiant serverio NAMEDATALEN konstantą). „SQLite“ dokumentuose nerandu jokių stulpelio pavadinimo ilgio apribojimų, o tinklaraščio įrašai, atrodo, patvirtina, kad jų nėra.

Apskritai SQL kūrėjai stengsis vengti naudoti didžiųjų ir mažųjų raidžių identifikatorius. Tačiau didžiųjų ir mažųjų raidžių identifikatorius galima sukurti naudojant citatą. Be citatų, kai kurios duomenų bazės („Oracle“) sulankstys identifikatorius į didžiosios raidės, kai kurios („PostgreSQL“/„PostGIS“) sulenks identifikatorius į mažąsias raides, o kai kurios („SQLite“/„SpatiaLite“, „SQL Server“) yra didžiosios ir mažosios raidės.išsaugojimas bet ne atvejis-jautrus.

„PostGIS“ galite priversti didžiąsias raides naudoti cituojamus identifikatorius:

Atminkite, kad kadangi „QGIS DB Manager“ niekada nekuriu tokio tipo lentelių, nežinau, ar galite priversti stulpelių pavadinimus rašyti didžiosiomis raidėmis, bet tai galite padaryti naudodami kitas valdymo priemones arba patys rašydami SQL (kurį galite pateikti naudojant DB tvarkyklės SQL redaktorių), kaip parodyta aukščiau.

Tam reikės naudoti citatą bet kuriame SQL, kurį rašote, kaip SELECT COLUMN_NAME_1. bus sulankstytas į SELECT column_name_1. viduje, o stulpelio_pavadinimas_1 nėra lygus COLUMN_NAME_1.

„SpatiaLite“ elgesys yra šiek tiek keistas. „SQLite“ išsaugos sukurtą stulpelio atvejį (cituojate identifikatorių ar ne), taip pat išsaugos jį eksportuojant, tačiau bet kuriame SQL, kurį rašote, stulpelio pavadinimas bus traktuojamas be didžiųjų ir mažųjų raidžių. Bet koks didžiųjų ir mažųjų raidžių derinys bus priimtas neatsižvelgiant į citatą, o „SQLite“ COLUMN_NAME_1 ir „column_name_1“ traktuos kaip nesuderinamus pavadinimus ir ne galite sukurti abu stulpelius toje pačioje lentelėje. („PostGIS“, OTH leis vardus, kurie skiriasi tik tuo atveju.)

„PostGIS“ arba „SpatiaLite“ atveju byla bus išsaugota, jei sluoksnį įkeliate į QGIS ir eksportuosite į TAB naudodami dialogo langą Įrašyti kaip.

Daugiau informacijos apie didžiųjų ir mažųjų raidžių jautrumą rasite šiame labai informatyviame tinklaraščio įraše: http://www.alberton.info/dbms_identifiers_and_case_sensitivity.html

PASTABA: Originalus atsakymas buvo aptariamas tik „PostGIS“. Remdamasis @user30184 atsakymu, aš žymiai pakeičiau atsakymą, įtraukdamas informaciją apie „SpatiaLite“.

Sustabdyti ne tam tikra seka, kad surastumėte trumpiausią kelią su „ArcGIS Network Analyst“?

Ar galima sustoti ne tam tikra seka, kad su tinklo analitiku rastumėte trumpiausią kelią?

Dabar naudoju mažus žalius taškus kaip įvesties sustojimą, nes noriu, kad maršrute būtų linijos su rožiniu tašku. Tada aš juos pertvarkau ir neišsaugoju pabaigos ir pradžios taško. Maniau, kad tai reiškia, kad tinklo analitikas nesudaro tikros įvesties sustojimo sekos ir nepasirenka tikro pradžios ir pabaigos taško, o tiesiog randa trumpiausią maršrutą tarp taškų.

Tačiau jei žiūriu į įrankio išvestį (šviesiai žalia), atrodo, kad tinklo analizės įrankis vis dar naudoja tam tikrą seką ir pradžią bei galutinį tašką. Kadangi paveikslėlyje atrodo, kad taškas, į kurį nukreipta mėlyna rodyklė, yra pradžios arba pabaigos taškas. Raudona linija yra mano norimas maršrutas. Taigi maršrutas dabar sukasi ratu (kairėje, kur yra juoda rodyklė) ir eina pro pietinį segmentą, o ne eina į šiaurę ir jungiasi per mažą pilką nuorodą šalia mėlynos rodyklės (kaip raudonas maršrutas, kurio noriu). Žalia produkcija, kurią dabar gaunu, nėra trumpiausias kelias.

Aš maniau, kad viena problema gali būti ta, kad taškas šalia mėlynos rodyklės yra priskiriamas įrankiui kaip pradžios arba pabaigos taškas, o kita problema, kad tinklo analitikas paima segmentą šalia juodos rodyklės, nes ateina taškas pietvakariuose (juodas apskritimas) vėliau, nei taškas viduryje (juodas apskritimas). Taigi, kiekvienam taškui suteikiamas 1,2,3 ir pan., O ne protektorius, kaip visi 0,0,0. Taigi, aš maniau, kad tai galima išspręsti turint sustojimus kaip vienodus taškus (visi nuliai ar kažkas) ir apskaičiuojant trumpiausią kelią tarp jų, o ne sustojimus kaip seką ir einant nuo 1 iki 2 ir 3 ir pan. Bet aš nežinau, ar tai teisinga, taip pat žiūrėkite paskutinį @ChrisW komentarą „Linijos funkcijos naudojimas kaip sustabdytas įvestis tinklo analitike?“.


Žiūrėti video įrašą: postgis