วิธีฉายรูปร่างไฟล์ได้อย่างไร


10

ฉันต้องการฉายโครงการ QGIS อีกครั้ง แต่ไม่มีตัวเลือกดังกล่าว เมื่อค้นหาคำตอบฉันเห็นogr2ogrคำแนะนำสำหรับงานนี้โดยฉายแต่ละเลเยอร์เวกเตอร์ใหม่ (shapefile ในตัวอย่างนี้) อย่างไรก็ตามฉันไม่ได้รับผลลัพธ์ที่คาดหวัง:

C:\temp>ogrinfo -al -so misc.shp
INFO: Open of `misc.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc
Geometry: Line String
Feature Count: 10
Extent: (21.267388, 42.015857) - (21.270225, 42.017470)
Layer SRS WKT:
PROJCS["MGI_Balkans_zone_7_deprecated",
    GEOGCS["GCS_MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",21],
    PARAMETER["scale_factor",0.9999],
    PARAMETER["false_easting",7500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]
id: Integer (10.0)

C:\temp>ogr2ogr -t_srs EPSG:4326 misc_re.shp misc.shp

C:\temp>ogrinfo -al -so misc_re.shp
INFO: Open of `misc_re.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc_re
Geometry: Line String
Feature Count: 10
Extent: (-34.004490, 0.000230) - (-34.004490, 0.000230)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984",
        SPHEROID["WGS_84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]]
id: Integer (10.0)

ดังนั้นไฟล์ใหม่จึงเปลี่ยนระบบพิกัดทางภูมิศาสตร์ แต่มันไม่ได้ถูกฉาย
ทำอย่างไร


คุณพยายามที่จะปฏิเสธรูปร่างไฟล์หรือไม่? แฟ้มโครงการมี.qqsตอนจบเป็น shapefile .shpปลายด้วย ฉันไม่คิดว่าคุณสามารถฉายไฟล์โครงการอีกครั้ง แต่อาจผิด
djq

1
ฉันคิดว่าคุณรู้แล้วว่าการ "ปฏิเสธทันที" ใน QGIS ที่ช่วยให้การปฏิเสธชั้นเวกเตอร์ใด ๆ
steko

@steko: ถ้า "ทันที" เป็นสิ่งที่ตอบโดย djq ใช่ฉันรู้แล้วว่า
zetah

1
ไม่นั่นเป็นอีกวิธีหนึ่งและมันจะเปลี่ยนข้อมูลอย่างถาวร ในการปฏิเสธการบินจะถูกกำหนดไว้ในโครงการ QGIS เท่านั้นและจะส่งผลต่อวิธีการแสดงเลเยอร์ แต่ไม่ได้สัมผัสไฟล์ต้นแบบ
steko

ขอบคุณฉันไม่รู้เกี่ยวกับสิ่งนั้นและ Googling แสดงให้ฉันเห็นว่าคุณหมายถึงอะไร มันเป็นสิ่งที่ฉันต้องการ หากคุณสามารถโพสต์ความคิดเห็นล่าสุดของคุณเมื่อวานนี้เท่านั้น ... ฉันพิมพ์จำนวนมากเพื่อไปที่นั่น;)
zetah

คำตอบ:


20

สมมติว่าคุณต้องการปฏิเสธรูปร่างไฟล์อีกทางหนึ่งQGISคือโหลดไฟล์right-clickบนเลเยอร์เลือกSave As…จากนั้นหน้าต่างต่อไปนี้จะปรากฏขึ้น:

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณคลิกbrowseด้านข้างCRSคุณสามารถเลือกการฉายใหม่เพื่อบันทึกไฟล์ของคุณ

แก้ไข:

หากต้องการปฏิเสธ shapfiles ทั้งหมดในโฟลเดอร์เดียวสิ่งนี้สามารถใช้งานได้:

set "str1=_projected"
for %f in (E:\data\*.shp) do ogr2ogr -t_srs EPSG:4326 %str1%"misc_re.shp %f

(ฉันไม่ได้ทดสอบสิ่งนี้และไม่คุ้นเคยกับการต่อสตริงบน windows หรือฉันไม่ได้แก้ไขปัญหา ogr2ogr - แต่ข้อมูลโค้ดนี้วนซ้ำผ่านโฟลเดอร์และเรียกใช้บางอย่างในแต่ละไฟล์)


ใช่มันเยี่ยมมาก แต่ฉันต้องทำอย่างนั้นกับทุกเลเยอร์ซึ่งใช้เวลานาน โดยใช้บรรทัดคำสั่งฉันหวังว่าจะได้อีกโครงการเชปไฟล์ทั้งหมดในครั้งเดียว (พร้อมสำหรับวง)
zetah

ไฟล์รูปร่างทั้งหมดในโฟลเดอร์เดียวหรือไม่?
djq

ใช่พวกเขาอยู่ในโฟลเดอร์เดียวกัน
zetah

ขอบคุณสำหรับความพยายาม แต่คุณอ่านคำถามของฉันจริงหรือ
zetah

3
ใช่ ... คุณไม่สามารถปฏิเสธไฟล์โครงการ qgis ซึ่งเป็นเหตุผลที่ฉันให้คำตอบแรกของฉัน จากนั้นฉันก็รู้ว่าคุณต้องการที่จะปฏิเสธรูปทรงเป็นกลุ่ม วิธีหนึ่งในการทำเช่นนี้คือการวนไฟล์ทั้งหมดในโฟลเดอร์โดยใช้บรรทัดคำสั่งด้วย ogr (วิธีอื่นคือดูว่าคุณสามารถส่ง ogr ไปยังโฟลเดอร์ของรูปร่างไฟล์)
djq
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.