null 값을 가진 다각형 shapefile?


10

누구든지 null 항목이있는 샘플 shapefile (바람직하게 다각형 shapefile)을 어디에서 찾을 수 있는지 알고 있습니까?

null 항목으로 항목을 만드는 방법을 잘 모르겠습니다.

답변:


10

SHP 파일을 읽는 많은 소프트웨어는 형상에 대해 null 값을 지원하지 않습니다. 구 버전의 ArcView에서도 문제가있었습니다.

여기에 샘플을 만들었습니다. http://www.routeware.dk/temp/shp_null_sample.zip 3 개의 레코드가 있고 2 번째에는 지오메트리가 없습니다.


어떤 버전의 ArcView? AV 2.x 및 3.x는 새 모양 파일 (애비뉴의 'FTab'객체)을 만들 때마다 null 형상을 생성하므로 null 형상이 일반적이고 완벽하게 지원됩니다.
whuber

널 (null) 지오메트리가 지원되며 지오메트리에 유효한 값 (알 수 없음)입니다. 문제는 많은 소프트웨어가 먼저 null인지 확인하지 않고 형상을 사용하면 충돌과 같은 나쁜 일이 발생한다는 것입니다. gp 도구 Data Management \ CheckGeometry가있는 이유입니다. 소프트웨어에 fc 관련 문제가있는 경우 이는 일반적으로 가장 먼저 확인해야합니다.
gotchula

1
새 모양 파일에 새 레코드를 추가하는 것은 간단합니다 (AV 3.x의 View GUI에서 Ctrl-A로 수행). 자동으로 null 모양을 갖습니다. 영사 영역 외부에있는 하드 영사 모양과 같은 잘못된 작업의 결과로 Null 모양도 생성되었습니다. AV 3.x는 일반적으로 문제가 없었습니다. AV 8 이상에서 문제가 발생했을 수 있습니다. 실제로 ESRI의 최신 소프트웨어는 자체 사양에 맞지 않았습니다.
whuber

1
@ UffeKousgaard, 나는이 게시물의 일부에 취소 선을 적용했으며 현재 연결이 끊겼습니다. 게시물 삭제를 방지하기 위해이 답변에 대해 자세히 설명해 주시면 평판이 나빠질 수 있습니다.
Fezter

1
파일이 돌아 왔습니다.
Uffe Kousgaard

10

shapefile은 기하학을 제외한 모든 필드 유형에 대해 null을 지원하지 않으므로 날짜 필드에 대해 null을 지원하지 않기 때문에 geometry / shape 열에 null을 의미한다고 가정합니다.

아래 코드는 널 폴리 지오메트리를 가진 1 개의 레코드 / 기능으로 1 개의 shapefile을 만듭니다.


  import arcpy
  import os
  outfc = r'c:\temp\outfc.shp'
  arcpy.env.workspace = os.path.dirname(outfc)
  arcpy.CreateFeatureclass_management(arcpy.env.workspace,os.path.basename(outfc), 'polygon')
  cur = arcpy.InsertCursor(outfc)
  row = cur.newRow()
  cur.insertRow(row)
  del(row)
  del(cur)
  r = arcpy.CheckGeometry_management(outfc,'in_memory\\outtable')
  print r.getMessages()



나는 그것을 실행하고 내가 기대하는 것을 얻는다.

경고 000442 : c : \ temp \ outfc.shp에서 0의 null 형상


1

ESRI 소프트웨어를 사용하는 경우 최소한 ArcGIS 9.3에 대해 말할 수 있으며 shapefile은 null을 지원하지 않습니다. 몇 주 전에이 문제에 부딪 히고 하루를 조사하는 데 보냈습니다. 이 링크가 특히 http://forums.esri.com/Thread.asp?c=93&f=993&t=125464. ESRI shapefile 내에서 null을 지원하는 유일한 방법은 지오 데이터베이스를 사용하는 것입니다 (그런 다음 shapefile이 피쳐 클래스가됩니다. null을 지원하기 위해 지오 데이터베이스를 작성하고 shapefile을 만든 다음 지오 데이터베이스로 가져 오는 것과 반대로 파일 지오 데이터베이스 (이는 null을 지원함) 내에 피쳐 클래스 (모양 파일이라고도 함)를 만들었습니다 (널을 지원하지 않음). . 올바르게 기억하면 필드 속성에 null을 지원하도록 명시 적으로 명시해야합니다. 다음은 Python을 사용하여 ArcGIS 9.3의 파일 지오 데이터베이스에서 피처 클래스를 생성하는 방법에 도움이되는 링크입니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.